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

13
我定义了一个布尔属性,如下所示:
 [Browsable(true), Category("Display"), DefaultValue(false),
  WebPartStorage(Storage.Shared), FriendlyName("Obey Workflow"),
  Description("")]
  public bool ObeyWorkflow { get; set; }

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

3个回答

21

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

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

谢谢。我花了整整一天的时间来解决这个问题。 - kjv

5

@Jason,你是对的。语法“Browsable”和“Category”是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; }
    }

1
我认为应该使用WebBrowsable(true)而不是Browsable(true)

我已经更改了,但是没有帮助。 - kjv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接