2

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

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

PS 我不使用 SP Designer 或类似的程序。

4

1 回答 1

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>

还要将其复制到列表架构中的 ContentType 引用中。

于 2012-04-23T07:05:39.260 回答