【问题标题】:Sharepoint Custom Field default templateSharepoint 自定义字段默认模板
【发布时间】:2010-06-09 10:02:55
【问题描述】:

我想为 sharepoint 开发一个自定义查找字段。

我创建了一个类如下

public class CustomLookupControl:BaseFieldControl

并重写了这个方法

protected override string DefaultTemplateName
        {
            get
            {
                return base.DefaultTemplateName;                    
            }
        }

但是当我编辑一个项目时,我发现该字段的位置是空的。

我的问题是我不想为字段实现自定义渲染模板,我想使用查找字段的默认模板

如何实现。

【问题讨论】:

    标签: sharepoint


    【解决方案1】:

    由于您继承的是BaseFieldControl,而不是LookupField,因此base.DefaultTemplateName 不会呈现您想要的查找。您需要做的是定义自己的模板,如下所示:

    protected override string DefaultTemplateName
    {
      get
      {
        return "MyCustomTemplateName";                   
      }
    }
    

    您的渲染模板是部署到根 _controltemplates 文件夹的 ascs 文件,其 ID 必须为 MyCustomTemplateName。在您的模板中添加控件,在本例中为 LookupField 并让它确定要呈现的内容。让它为您完成工作,它将获得自己的 DefaultTemplateName。所以现在您的模板将如下所示:

    <SharePoint:RenderingTemplate ID="MyCustomTemplateName" runat="server">
      <Template>
        <SharePoint:LookupField runat="server" />
        // Other custom stuff you want to add
      </Template>
    </SharePoint:RenderingTemplate>
    

    【讨论】:

      【解决方案2】:

      我相信您可能想要继承 Microsoft.SharePoint.WebControls.LookupField 类,它是 BaseFieldControl 的特定查找后代。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-27
        • 2014-01-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多