我创建了一个列表定义&在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或类似的程序。
答案 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引用中复制它。