La propriété de composant WebPart personnalisé Sharepoint n'apparaît pas dans la boîte à outils
-
03-07-2019 - |
Question
J'ai défini une propriété booléenne comme suit:
[Browsable(true), Category("Display"), DefaultValue(false),
WebPartStorage(Storage.Shared), FriendlyName("Obey Workflow"),
Description("")]
public bool ObeyWorkflow { get; set; }
Je pense qu'il sera affiché sous forme de case à cocher dans la boîte à outils des propriétés de la Webpart, mais il ne s'affiche pas. Mon composant WebPart est dérivé de la classe de base Sharepoint WebPart.
La solution
Vous êtes sur la bonne voie. Vous devez simplement utiliser différents attributs.
[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(true)]
[Category("Display")]
[WebDisplayName("Obey Workflow")]
[Description("")]
public bool ObeyWorkflow { get; set; }
Autres conseils
@ Jason, vous avez raison. La syntaxe "Parcourir", et "Catégorie". sont spécifiques à Sharepoint 2003. Pour SharePoint 2007, il s’agit des options "WebBrowsable" et "SPWebCategoryName". respectivement.
DefaultValue (false) est également spécifique à SharePoint 2003.
L'équivalent en 2007, à ma connaissance, consiste à le déclarer au préalable, comme suit:
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; }
}
Je pense que son WebBrowsable (true)
au lieu de Navigable (true)