puo capitare di avere la necessita di accedere ad un metodo da ogni pagina del nostro sito.
ogni pagina in .net eredita da System.Web.UI.Page, quindi il sistema più semplice per rendere disponibile un metodo in tutte le pagina è creare una nuova classe che eredita da System.Web.UI.Page e utilizzarla come classe base :
using System;
using System.Web;
using System.Web.UI;
using System.Data.SqlTypes;
using System.Diagnostics;
namespace MyWeb.Web
{
public class MyPage: System.Web.UI.Page
{
public MyPage (){}
public MyMethod(){....fai qualcosa....}
}
}
questo più o meno sarebbe il codice di una nostra ipotetica classe, da utilizzare come base per pagine aspx, per utilizzarla si sostituisce:
public class WebForm1 : System.Web.UI.Page
con
public class WebForm1 : MyWeb.Web.MyPage
cosi facendo tutti i metodi della nuova classe base saranno accessibili (ad esclusione naturalmente dei metodi e private)
ma se volessi accedere al metodo da un user control?
((MyWeb.Web.MyPage)this.NamingContainer).MyMethod()
così facenzo l'user control ricava un riferimento al conteiner che viene "castato" nella mia classe base (MyPage) ed è possibile accedere a qualsiasi metodo o propietà.
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Modificare il controllo TreeView, il 2 dicembre 2008 alle 19:27
- Perfezioniamo il ProfileDataSorce, il 13 ottobre 2008 alle 11:14
- Un DataSource per il Profile, il 10 ottobre 2008 alle 15:06
- TrueSpace 7 gratuito, il 24 luglio 2008 alle 10:59
- adesso dico la mia sull'Iphone, il 22 luglio 2008 alle 10:33
- Come tutto ebbe inizio, il 21 luglio 2008 alle 09:22