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

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

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

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

Ответы [ 3 ]

21 голосов
/ 07 марта 2009

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

[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(true)]
[Category("Display")]
[WebDisplayName("Obey Workflow")]  
[Description("")]  
public bool ObeyWorkflow { get; set; }
5 голосов
/ 16 апреля 2009

@ Джейсон, ты прав. Синтаксис «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 голос
/ 06 марта 2009

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

...