L'accesso alla ViewState nell pagine ASP.NET, ma anche a Session, Cache ed Application tipicamente soffre della mancanza di type-safety che costringe a scrivere dei cast ripetuti. Con il breve e semplice metodo generico qui riportato è possibile semplificare la gestione di questi utili strumenti

public string MyValue
{
    
get return GetViewState<string>("MyValue", string.Empty); }
    
set { SetViewState<string>("MyValue", value); }
}

private T GetViewState<T>(string name, T defaultValue)
{
    
if (ViewState[name] == null)
        SetViewState<T>(name, defaultValue);

    
return (T)ViewState[name];
}

private void SetViewState<T>(string name, T value)
{
    ViewState[name] = 
value;
}

Il metodo descritto ha il vantaggio di consentire anche la lazy initialization del valore, così da evitare di avere dei fastidiosi null di ritorno.

powered by IMHO 1.3


per leggere il post originale o inviare un commento visita il seguente indirizzo: ASP.NET 2.0: Un generic per la ViewState