accedere ai metodi di una pagina da un user control

di Marco Leoncini, in asp.net,

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à.


Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese