Salve a tutti,
da questa mattina mi sto cimentando nella creazione di un custom control.

In effetti nei milioni di esempi scaricati da internet o dai manuali, nessuno mi ha dato la possibilità di gestire il viewstate o almeno avrebbero dovuto ma mi sa che mi perdo qualcosa per strada.

Posto un esempio che ho scritto per poi magari avere un consiglio:

IL SEGUENTE è IL CODICE CHE GESTISCE L'EVENTO ONLOAD DELLA AGINA ASPX DOVE è CONTENUTO IL MIO CONTROLLO "CONFIGREPEATER" E DEFINISCO DELLE PROPRIETà.
NEL FORM DELLA PAGINA ASPX C'è ANCHE UN PULSANTE PER IL SUBMIT.

Codice PHP:
<script runat="server">
    protected 
void Page_Load(object senderEventArgs e)
    {
        
ConfigRepeater cf = new ConfigRepeater();
        
        if (!
Page.IsPostBack)
        {
            
cf.Ripetizioni 5;
            
cf.Messaggio "Prova2";
        }
        
form1.Controls.Add(cf);
    }
</script> 
SEGUE LA CLASSE DEL CUSTOM CONTROL:
UNA VOLTA ISTANZIATO IL CONTROLLO, IMPOSTO LE DUE PROPRIETà, CLICCO SUL SUBMIT E I VALORI MEMORIZZATI NELLE VIEWSTATE VENGONO PERSI, MENTRE DOVREBBERO RESTARE MEMORIZZATE NEL CONTROLLO.. COSA SBAGLIO?

Codice PHP:
public class ConfigRepeater WebControl
{
    public 
ConfigRepeater()
    {

    }

    public 
int Ripetizioni
    
{
        
get { return (int)ViewState["Ripetizioni"]; }
        
set ViewState["Ripetizioni"] = value; }
    }

    public 
string Messaggio
    
{
        
get { return (string)ViewState["Messaggio"]; }
        
set ViewState["Messaggio"] = value; }
    }

    protected 
override void Render(HtmlTextWriter writer)
    {
        
base.RenderContents(writer);
        for (
int i 0Ripetizionii++)
        {
            
writer.Write(Messaggio "
"
);
        }
    }