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

StackOverflow https://stackoverflow.com/questions/616490

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

@ Джейсон, ты прав. Синтаксис «Доступный для просмотра» и «Категория» специфичны для 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; }
    }

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top