2009-03-05 12 views
13

he definido una propiedad booleana de la siguiente manera:Sharepoint propiedad elemento web personalizado no aparece en la caja de herramientas

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

estoy esperando que se hacen como una casilla de verificación en las propiedades de caja de herramientas del elemento Web, sin embargo, doesn no aparece Mi parte web se deriva de la clase base Sharepoint WebPart.

Respuesta

21

Está en el camino correcto. Solo necesitas usar diferentes atributos.

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

Gracias. Pasé un día entero tratando de resolver este problema. – kjv

1

Creo que es WebBrowsable(true) en lugar de Browsable(true)

+0

he cambiado y no sirvió de nada. – kjv

5

@Jason, estás en lo correcto. La sintaxis "Navegable" y "Categoría" son específicas de Sharepoint 2003. Para SharePoint 2007, es "WebBrowsable" y "SPWebCategoryName" respectivamente.

DefaultValue (falso) también es específico de SharePoint 2003.

El equivalente en 2007, por lo que yo sé, es declarar que inicialmente antemano, como esto:

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

buen trabajo, gracias! – Gohyu

Cuestiones relacionadas