I have defined a boolean property as follows:
[Browsable(true), Category("Display"), DefaultValue(false),
WebPartStorage(Storage.Shared), FriendlyName("Obey Workflow"),
Description("")]
public bool ObeyWorkflow { get; set; }
I'm expecting it to render as a checkbox in the webpart's properties toolbox, however it doesn't show up. My web part is derived from the Sharepoint WebPart base class.
You are on the right track. You just need to use different attributes.
[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(true)]
[Category("Display")]
[WebDisplayName("Obey Workflow")]
[Description("")]
public bool ObeyWorkflow { get; set; }
@Jason, you're correct. The syntax "Browsable", and "Category" are Sharepoint 2003 specific. For SharePoint 2007, it's "WebBrowsable", and "SPWebCategoryName" respectively.
DefaultValue(false) is also SharePoint 2003 specific.
The equivalent in 2007, as far as I know, is to declare it initially beforehand, like this:
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; }
}
i think its WebBrowsable(true)
instead of Browsable(true)
来源:https://stackoverflow.com/questions/616490/sharepoint-custom-web-part-property-does-not-show-up-in-the-toolbox