Con l'introduzione delle Master Page lo sviluppatore ASP.NET può creare porzioni di layout e codice facilmente condivisibili tra più pagine.
Contrariamente a quanto può far pensare il nome, la classe Master Page non eredità dal tipo Page ma bensì da UserControl e questo influisce sulla composizione dell'albero dei controlli: infatti è la pagina che ha come suo unico controllo figlio la Master Page, che conterrà i controlli presenti nella MastePage e nei vari controlli Content della pagina.
Questo particolare è da tenere in considerazione nel caso sia necessario inserire dinamicamente dei controlli nella pagina.
A differenza di quanto è possibile fare in modo dichiarativo, dove i controlli sono racchiusi tra i tag
Per prima cosa bisogna recuperare il riferimento al ContentPlaceHolder:
ContentPlaceHolder myContent = Master.FindControl("MyContentPlaceHolder") as ContentPlaceHolder;
Controlliamo poi che il riferimento non sia nullo ed inseriamo il controllo a runtime:
if (myContent != null) { Label newLabel = new Label(); newLabel.Text = "Questa Label è aggiunta a runtime alla Master Page"; myContent.Controls.Add(newLabel); }
E' infine utile notare come il controllo Content non entri a far parte dell'albero dei controlli, ma si limiti a "passare" il suo contenuto al ContentPlaceHolder.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Short-circuiting della Pipeline in ASP.NET Core
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Load test di ASP.NET Core con k6
Implementare il throttling in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet