如何为自定义内容类型创建新表单

时间:2012-06-07 17:26:23

标签: sharepoint sharepoint-2010 content-type sharepoint-api

我正在通过Visual Studio中的Elements.xml文件创建新的内容类型。我在XmlDocment节点中引用了一个自定义的新表单文档

  <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
    <FormTemplates  xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
      <Display>ListForm</Display>
      <Edit>ListForm</Edit>
      <New>MyNewList</New>
    </FormTemplates>
  </XmlDocument>

现在,当我创建内容类型的新实例时,我得到一个空白。我已经读过这个新节点应该引用ASCX控件。但是,我没有找到任何好的例子来指导我完成整个过程。

2 个答案:

答案 0 :(得分:0)

您在<New></New>元素中指定的值是_controltemplates目录中RenderingTemplate控件的ID。如果你打开

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx

您将看到SharePoint使用的呈现模板,包括ListForm。您可以通过在同一目录中创建新的ASCX文件来创建自己的渲染模板。 This is an article引导您完成这项工作。

答案 1 :(得分:0)

谢谢Alex ......为你解答。

我了解了使用FormTemplates与FormUrls元素之间的区别。 FormsTemplate用于使用现有的aspx页面引用自定义用户控件。这由Link Alex提供的描述。 Coworked指向使用FormUrls的方向。 FormUrls用于引用一个全新的aspx页面。

  <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
    <FormUrls xmlns:dd= "http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
      <New>_layouts/TMF/NewJobCard.aspx</New>
    </FormUrls>
  </XmlDocument>