La propiedad de elemento web personalizado de Sharepoint no se muestra en la caja de herramientas

StackOverflow https://stackoverflow.com/questions/616490

Pregunta

He definido una propiedad booleana de la siguiente manera:

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

Estoy esperando que se muestre como una casilla de verificación en la caja de herramientas de propiedades del elemento web, sin embargo, no se muestra. Mi elemento web se deriva de la clase base de Sharepoint WebPart.

¿Fue útil?

Solución

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

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

Otros consejos

@Jason, tienes razón. La sintaxis " Navegable " ;, y " Categoría " son específicos de Sharepoint 2003 Para SharePoint 2007, es " WebBrowsable " ;, y " SPWebCategoryName " respectivamente.

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

El equivalente en 2007, que yo sepa, es declararlo inicialmente de antemano, como este:

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

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top