AJAXový UpdatePanel se chová zvláštně vůči logice naming-containerů, pokud se tedy potkáte s názvy (ID) controlů, nepůjde Vaše stránka zkompilovat. Stačí zkusit následujících jednoduchý snippet:
<asp:TextBox ID="SomethingTB" runat="server" /> <asp:Repeater ID="MyRepeater" runat="server"> <ItemTemplate> <asp:UpdatePanel runat="server"> <ContentTemplate> <asp:TextBox ID="SomethingTB" runat="server" /> </ContentTemplate> </asp:UpdatePanel> </ItemTemplate> </asp:Repeater>
…při kompilaci budete obšťastněni chybovými hláškami
D:\Development\UpdatePanelCompiler\Default.aspx(18,57): error CS0102: The type '_Default' already contains a definition for 'SomethingTB' c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\updatepanelcompiler\1c44388f\ad38e94\App_Web_r7xfjqxf.0.cs(231,59): error CS0111: Type 'ASP.default_aspx' already defines a member called '__BuildControlSomethingTB' with the same parameter types