Мне было интересно, почему вы должны использовать FindControl
, чтобы ссылаться на этот флажок в LayoutTemplate . Пример:Почему нельзя контролировать элементы управления в шаблонах через своих родителей?
var login1CheckBox1 = (CheckBox)Login1.FindControl("CheckBox1");
Я бы ожидать, чтобы быть в состоянии сделать что-то вдоль линий:
var login1CheckBox1 = Login1.LayoutTemplate.CheckBox1;
В случае ниже Repeater
, очевидно, потому что может быть п число CheckBoxes , Но для управления Login
это не имеет смысла. Почему бы не реализовать это по-другому?
<asp:Login ID="Login1" runat="server">
<LayoutTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</LayoutTemplate>
</asp:Login>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:Repeater>
У кого-нибудь есть свет, чтобы сиять на этом?