问题
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.
回答1:
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; }
回答2:
@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; }
}
回答3:
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