>Ciao a tutti!
Ciao Arsenico
>Ora vi pongo una domanda banale a molti, ma alla quale purtroppo
>non mi sono ancora dato risposta: come faccio a creare una sub
>che mi venga vista da tutte le pagine del progetto e che posso
>richiamare in qualsiasi punto di qualsiasi pagina?
>Pensavo fosse Public sub, ma dalle altre pagine non la vedo.
Public non significa globale, ma ad accesso pubblico per chi usa la classe che definisce il metodo.
Mi spiego molto semplicemente.
Una classe è la definizione di un oggetto. Una pagina aspx è legata ad una sua definizione e quindi ad una sua classe (o più d'una).
Ogni classe può avere proprietà e metodi e questi possono avere dei particolari livelli di accesso, tra cui il Public.
Questo significa che TUTTE le classi che richiamano/usano la tua classe possono accedere al metodo pubblico. Però non puoi chiamarlo come se fosse proprietario della pagina, bensì' devi istanziare l'oggetto (new della classe col metodo pubblico) oppure definire il metodo condiviso/statico (Shared/Static).
Nel primo caso devi fare nella tua pagina:
ClasseConMetodoPubblico obj = new ClasseConMetodoPubblico();
obj.MetodoPubblico(parametri);
Nel secondo, essendo il metodo statico (non ha bisogno di istanza) devi fare:
ClasseConMetodoPubblico.MetodoPubblico(parametri);
Tuttavia, a te non serve questo. Mi sembra che l'ereditarietà faccia più al caso tuo.
Definisci una classe "madre" che eredita dalla Page (quella da cui tutte le pagine ereditano) con il tuo metodo pubblico. tipo:
Class ClasseMadre : System.Web.UI.Page
{
// ...
public void MetodoPubblico(int param1, string param2)
{
// ...
}
}
e poi eredita:
Class TuaPagina : ClasseMadre
{
//...
this.MetodoPubblico(1, "ciao");
}
A questo punto, fai ereditare tutte le pagine dalla classe base ed è fatta. Ti troverai sempre disponibile il metodo pubblico che ti serve.
>Grazie!
Di nulla! 
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org