Свойство пользовательской веб-части 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)