最佳实践将新表单页面添加到现有列表
-
16-10-2019 - |
题
我们有一个已经部署到生产环境的博客网站。现在我们需要向博客中的一些列表添加新的自定义显示表单。对于这种类型的新博客,这不是问题,因为新表单是在基于自定义列表定义创建博客时添加的。但是将表单添加到现有博客的最佳方法是什么?该解决方案需要可维护,而不是非托管表单等。
解决方案
您可以创建自定义的RenderingTemplate,基于标准ListForm渲染模板,将其部署到 CONTROLTEMPLATES
文件夹,然后以编程方式将 SPList.ContentTypes[0].EditFormTemplateName、NewFormTemplateName 和 DisplayFormTemplateName 属性设置为此模板的名称。
该解决方案经过测试并可在生产环境中运行,因此您可以询问详细信息 - 我将更新该帖子。为了呈现字段,我们使用自定义控件,该控件继承自 ListFieldIterator 并重写 Render 方法,其中我们使用 SPContext.Current.FormContext.FieldControlCollection 来呈现字段控件。
我有一个测试解决方案演示了此方法(您需要更改功能接收器中的硬编码列表 url 才能使其工作):
附:我认为由于某些原因,Sharepoint Designer 方法对您来说不可接受,尽管它是这里最简单的方法。