如何创建一个自定义表单,其代码隐藏在Sharepoint 2010中的List(C#)

时间:2012-04-22 07:20:27

标签: c# sharepoint-2010

我创建了一个列表定义&在Visual Studio(C#)中列出Sharepoint2010的实例。还创建了应用程序页面,默认情况下存储在layouts文件夹中。我的目标是将该页面作为我的列表的新形式。 据我所知,它应该在列表模式的那一部分完成:

<Forms>
  <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
  <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
  <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
</Forms>

我试过:

1)在<New>_layouts/PIUVS/ProjectsNew.aspx</New>标记中添加<forms>。 =&GT;什么都没发生

2)将SetupPath更改为“_layouts / PIUVS / ProjectsNew.aspx”=&gt;部署时出现错误:部署步骤中出错“激活功能”:系统找不到指定的文件。 (HRESULT异常:0x80070002)

P.S。我不使用SP Designer或类似的程序。

1 个答案:

答案 0 :(得分:0)

找到解决方案。

这应该不完全在模式文件中完成。

要在Sharepoint2010中添加自定义表单以进行列表,您应该修改内容类型。在<ContentType>标记中添加以下内容:

<XmlDocuments>
  <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
    <FormsUrls xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
      <New>_layouts/PIUVS/ProjectsNew.aspx</New>
    </FormsUrls>
  </XmlDocument>
</XmlDocuments>

同样在list的架构中的ContentType引用中复制它。