Свойство пользовательской веб-части Sharepoint не отображается на панели инструментов
-
03-07-2019 - |
Вопрос
Я определил логическое свойство следующим образом:
[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)
Не связан с StackOverflow