ora ho capito perché non ti funzionava.
Non puoi chiamare il render di un controlla da una classe esterna.
principalmente devi utilizzare i metodi dei controlli e/o delle pagina, intendo dire modifica dell'interfaccia prevalentemente, direttamente nel code behind, mentre metti in classi esterne metodi che implementano funzioni di logica dell'applicazione.
L'operazione che volevi fare era strettamente legata all'interfaccia, quindi da lasciare nella pagina.
Ti faccio un semplice esempio (stupido e inutile) per farti capire cosa puoi mettere in classi esterne:
codice:
protected override void OnPreRenderComplete(EventArgs e)
{
Button1.Text = clsCodici.getTestoPulsante();
base.OnPreRenderComplete(e);
}
codice:
public static class clsCodici
{
public static string getTestoPulsante()
{
//qui la logica dell'applicazione
//ad esempio reperire il testo in base alla lingua del client
//leggere sul DB o su file di risorse e prelevare il testo
return "testo modificato";
}
}