Prendere lo scenario seguente. Ho più pagine ASPX. Accesso, Disconnessione, Principale, Messaggi, ecc. Tutti ereditano da System.Web.UI.Page, ovviamente. Per tutte le pagine, voglio sovrascrivere il metodo Render dalla classe Page. Potrei facilmente copiare e incollare lo stesso codice in ciascuna pagina in questo modo:Come eseguire l'override della stessa funzione su più pagine ASP.NET (funzione Render)
protected override void Render(HtmlTextWriter writer)
{
//Code Logic Here
}
Ma se dovessi molte pagine, consente di dire 20, mantenendo il codice in ogni pagina potrebbe arrivare molto in termini di tempo e soggetto a errori.
Questo mi ha fatto riflettere un po 'e ho pensato di provare questo ... ignorare la funzione in ogni pagina ma chiamare una funzione statica. In questo modo, la modifica della funzione statica determinerebbe una modifica per ogni pagina. Che funziona bene ... Ma non è proprio bello e pulito, dovendo scavalcare così su ogni singola pagina. Qualcuno ha qualche idea o idea su questo? Forse qualcosa di semplice sto trascurando? Grazie
MODIFICA: alcune pagine utilizzano la classe System.Web.UI.Page e alcune pagine ereditano da un'altra classe chiamata ModifiedPage che eredita e sovrascrive altre funzioni della classe System.Web.UI.Page. Quindi non è così semplice come ereditare tutte le pagine di una classe.
EDIT2: tutte le pagine richiedono questo comportamento, alcune derivano già da un'altra classe e non sono in grado di modificare l'implementazione o la gerarchia di ereditarietà di quell'altra classe.
classe base all'uso che eredita da System.Web.UI.Pagina e quindi utilizzare quello per tutte le pagine –
MODIFICA: alcune pagine utilizzano la classe System.Web.UI.Page e alcune pagine ereditano da un'altra classe denominata ModifiedPage che eredita e sovrascrive altre funzioni della classe System.Web.UI.Page. Quindi non è così semplice come ereditare tutte le pagine di una classe. –
vedere la mia risposta rivista. –