2009-03-05 5 views
13

J'ai défini une propriété booléenne comme suit:Sharepoint propriété partie Web personnalisée ne se présente pas dans la boîte à outils

[Browsable(true), Category("Display"), DefaultValue(false), 
    WebPartStorage(Storage.Shared), FriendlyName("Obey Workflow"), 
    Description("")] 
    public bool ObeyWorkflow { get; set; } 

Je me attends à rendre comme une case à cocher dans la boîte à outils des propriétés du webpart, mais il doesn pas montrer. Ma partie Web est dérivée de la classe de base Sharepoint WebPart.

Répondre

21

Vous êtes sur la bonne voie. Vous avez juste besoin d'utiliser des attributs différents.

[Personalizable(PersonalizationScope.Shared)] 
[WebBrowsable(true)] 
[Category("Display")] 
[WebDisplayName("Obey Workflow")] 
[Description("")] 
public bool ObeyWorkflow { get; set; } 
+0

Merci. J'ai passé une journée entière à essayer de résoudre ce problème. – kjv

1

je pense que son WebBrowsable(true) au lieu de Browsable(true)

+0

Je l'ai changé et il n'a pas aidé. – kjv

5

@Jason, vous avez raison. Les syntaxes "Browsable" et "Category" sont spécifiques à Sharepoint 2003. Pour SharePoint 2007, il s'agit respectivement de "WebBrowsable" et de "SPWebCategoryName". DefaultValue (false) est également spécifique à SharePoint 2003.

L'équivalent en 2007, pour autant que je sache, est de déclarer d'abord à l'avance, comme ceci:

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; } 
    } 
+0

bon travail, merci! – Gohyu

Questions connexes