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à.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.





Stampa
Download 
10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!