Sharepoint 自定义 Web 部件属性未显示在工具箱中

Posted

技术标签:

【中文标题】Sharepoint 自定义 Web 部件属性未显示在工具箱中【英文标题】:Sharepoint custom web part property does not show up in the toolbox 【发布时间】:2010-10-11 14:48:27 【问题描述】:

我已经定义了一个布尔属性如下:

 [Browsable(true), Category("Display"), DefaultValue(false),
  WebPartStorage(Storage.Shared), FriendlyName("Obey Workflow"),
  Description("")]
  public bool ObeyWorkflow  get; set; 

我希望它在 webpart 的属性工具箱中呈现为一个复选框,但是它没有显示出来。我的 Web 部件派生自 Sharepoint WebPart 基类。

【问题讨论】:

【参考方案1】:

你在正确的轨道上。你只需要使用不同的属性。

[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(true)]
[Category("Display")]
[WebDisplayName("Obey Workflow")]  
[Description("")]  
public bool ObeyWorkflow  get; set; 

【讨论】:

谢谢。我花了一整天的时间试图解决这个问题。【参考方案2】:

@Jason,你是对的。语法“可浏览”和“类别”是特定于 Sharepoint 2003 的。对于 SharePoint 2007,它分别是“WebBrowsable”和“SPWebCategoryName”。

DefaultValue(false) 也是 SharePoint 2003 特定的。

据我所知,2007 年的等价物是事先声明它,如下所示:

    private string _strMainFolder = "Reports"; //Here is the default value

    [WebBrowsable(true)]
    [WebDisplayName("SharePoint List Name")]
    [SPWebCategoryName("SharePoint List Name Settings")]
    [WebPartStorage(Storage.Shared)]
    [WebDescription("You would put the description here.")]
    [Personalizable(PersonalizationScope.Shared)]
    public string strMainFolder
    
        get  return _strMainFolder; 
        set  _strMainFolder = value; 
    

【讨论】:

【参考方案3】:

我认为是WebBrowsable(true) 而不是Browsable(true)

【讨论】:

我已经改变了,但没有帮助。

以上是关于Sharepoint 自定义 Web 部件属性未显示在工具箱中的主要内容,如果未能解决你的问题,请参考以下文章

Sharepoint 自定义 Web 部件属性未显示在工具箱中

具有多个 Web 部件实例的 SharePoint Web 部件存储在同一页面上

摘要链接 Web 部件与 SharePoint 2007/2010 中的自定义 Web 部件冲突

Sharepoint 自定义筛选器 Web 部件

Sharepoint 将自定义控件添加到 Web 部件错误

SharePoint 业务数据 Web 部件自定义