如何使用代码隐藏创建自定义窗体以在 SharePoint 2010 (C#) 中列出

本文关键字:2010 SharePoint 隐藏 代码 何使用 创建 自定义 窗体 | 更新日期: 2023-09-27 18:32:03

我在Visual Studio (C#)中为Sharepoint2010创建了一个列表定义和列表实例。还创建了应用程序页面,默认情况下存储在布局文件夹中。我的目标是使该页面成为我的列表的新形式。据我了解,它应该在列表架构的那部分完成:

<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)在<forms>标签中添加<New>_layouts/PIUVS/ProjectsNew.aspx</New>。=>然后什么也没发生

2) 将安装路径更改为"_layouts/PIUVS/项目新.aspx"=>时部署出现错误:部署步骤"激活功能"中出错:系统找不到指定的文件。(HRESULT的例外:0x80070002)

附言我不使用 SP 设计器或类似的程序。

如何使用代码隐藏创建自定义窗体以在 SharePoint 2010 (C#) 中列出

找到了一个解决方案。

这不应该完全在架构文件中完成。

若要将自定义表单添加到 SharePoint 2010 中的列表,应修改内容类型。在<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>

还要在列表架构的内容类型引用中复制此内容。