Come accedere ai controlli delle MasterPages

Le MasterPages sono una delle funzionalità che più apprezzo dei ASP.NET 2.0, ancora più che i vari Membership / Profile / Whatever provider.

Le apprezzo perchè ma maggior parte dei lavori che mi trovo a fare sono siti "consumer" con centinaia di pagine: le masterpages riducuno notevolmente il lavoro, soprattutto dei web designer, ogni volta che si deve cambiare anche solo minimamente la gabbia grafica di impaginazione.

Ma come fare per modificare a run-time un controllo che è stato inserito nella pagina all'interno di un ContentPlaceHolder della MasterPage?

/* Ottengo il ContentPlaceHolder che contiene il controllo da accedere */
ContentPlaceHolder footerHolder = (ContentPlaceHolder)Page.Master.FindControl("footer");

/* Lancio la FindControl dal ContentPlaceHolder appena recuperato*/
controls.footer footer = (controls.footer)footerHolder.FindControl("footerCtl");

Questo codice si applica ad una master page con la seguente struttura:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Main.master.cs" Inherits="Main" %>

<%@ Register 
Src="~/controls/footer.ascx" TagName="footer" TagPrefix="esp" %>

<
head runat="server">
  <
meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <
link rel="stylesheet" href="css/main.css" type="text/css" />
<
/head>
<
body>
    <
form id="form1" runat="server">
    <
div id="Container">
        <asp:ContentPlaceHolder 
ID="maincontent" runat="server">
        <
/asp:ContentPlaceHolder>
    <
/div>
    
    <
hr />
    
    <asp:ContentPlaceHolder 
ID="footer" runat="server">
        <esp:footer 
runat="server" id="footerCtl" />
    <
/asp:ContentPlaceHolder>

    <
/form>
<
/body>
<
/html>

Non è Rocket Science, ma mi ci è voluto un po' (forse anche colpa dei 29° che ci sono in ufficio) per capire il percorso giusto per accedere al contollo da una pagina basata sulla Main.Master

powered by IMHO 1.3

Bug Critico su Windows

E' appena stato scoperto un nuovo bug su windows: è abbastanza critico, ed esiste un video che lo mostra molto bene.
Il video, all'interno del post
«luglio»
domlunmarmergiovensab
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345