我们有一个已经部署到生产环境的博客网站。现在我们需要向博客中的一些列表添加新的自定义显示表单。对于这种类型的新博客,这不是问题,因为新表单是在基于自定义列表定义创建博客时添加的。但是将表单添加到现有博客的最佳方法是什么?该解决方案需要可维护,而不是非托管表单等。

有帮助吗?

解决方案

您可以创建自定义的RenderingTemplate,基于标准ListForm渲染模板,将其部署到 CONTROLTEMPLATES 文件夹,然后以编程方式将 SPList.ContentTypes[0].EditFormTemplateName、NewFormTemplateName 和 DisplayFormTemplateName 属性设置为此模板的名称。

该解决方案经过测试并可在生产环境中运行,因此您可以询问详细信息 - 我将更新该帖子。为了呈现字段,我们使用自定义控件,该控件继承自 ListFieldIterator 并重写 Render 方法,其中我们使用 SPContext.Current.FormContext.FieldControlCollection 来呈现字段控件。

我有一个测试解决方案演示了此方法(您需要更改功能接收器中的硬编码列表 url 才能使其工作):

附:我认为由于某些原因,Sharepoint Designer 方法对您来说不可接受,尽管它是这里最简单的方法。

许可以下: CC-BY-SA归因
scroll top