Свойство пользовательской веб-части Sharepoint не отображается в панели инструментов

Я определил логическое свойство следующим образом:

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

Я ожидаю, что он будет отображаться как флажок в панели инструментов свойств веб-страницы, однако он не отображается. Моя веб-часть получена из базового класса Sharepoint WebPart.

Ответы

Ответ 1

Вы на правильном пути. Вам просто нужно использовать разные атрибуты.

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

Ответ 2

@Джейсон, ты прав. Синтаксис "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; }
    }

Ответ 3

Я думаю, что его WebBrowsable(true) вместо Browsable(true)