Domanda

Ho il seguente codice ma sto ricevendo i seguenti errori di compilazione:

L'attributo 'WebPartStorage' non è valido su questo tipo di dichiarazione. È valido solo per le dichiarazioni "proprietà, indicizzatore".

E

L'attributo 'FriendlyName' non è valido su questo tipo di dichiarazione. È valido solo per le dichiarazioni "proprietà, indicizzatore".

Ho modificato il mio codice dall'articolo MSDN: http://msdn.microsoft.com/en-us/library/dd584174(office.11).aspx . Qualcuno ha idea di cosa sto facendo di sbagliato che sta causando questo errore?

  [Category("Custom Properties")]
    [DefaultValue(RegionEnum.None)]
    [WebPartStorage(Storage.Shared)]
    [FriendlyName("Region")]
    [Description("Select a value from the dropdown list.")]
    [Browsable(true)]
    protected RegionEnum _Region;
    public RegionEnum Region
    {
        get
        {
            return _Region;
        }
        set
        {
            _Region = value;
        }
    }
È stato utile?

Soluzione

Sembra che tu abbia allegato l'attributo al campo; gli attributi aderiscono sempre alla cosa next (in questo caso, il campo). È necessario riordinare in modo che aderiscano alla proprietà anziché al campo.

A proposito; i campi protetti sono raramente una buona idea (dovrebbero essere privati); ma soprattutto se la proprietà è pubblica: qual è il punto?

protected RegionEnum _Region;
[Category("Custom Properties")]
[DefaultValue(RegionEnum.None)]
[WebPartStorage(Storage.Shared)]
[FriendlyName("Region")]
[Description("Select a value from the dropdown list.")]
[Browsable(true)]
public RegionEnum Region
{
    get { return _Region; }
    set { _Region = value; }
}

Altri suggerimenti

Il messaggio ti dice, vero? Stai tentando di impostare l'attributo su un campo, ma è valido solo su indicizzatori e proprietà.

protected RegionEnum _Region;

[Category("Custom Properties")]
[DefaultValue(RegionEnum.None)]
[Description("Select a value from the dropdown list.")]
[Browsable(true)]
[WebPartStorage(Storage.Shared)]
[FriendlyName("Region")]
public RegionEnum Region
{
    get
    {
        return _Region;
    }
    set
    {
        _Region = value;
    }
}

Spero che tu abbia usando Microsoft.SharePoint.WebPartPages; , vero?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top