У меня есть веб-форма, содержащая пользовательский элемент управления. На этом пользовательском элементе управления есть набор переключателей. При изменении переключателя панель или текстовое поле отображаются или скрываются в зависимости от того, какой переключатель был выбран.
Я могу привести пример, который работает правильно:
testcontrol.aspx:
<asp:RadioButtonList ID="ChoicesRadioButtonList" AutoPostBack="true" OnSelectedIndexChanged="ChoicesRadioButtonList_SelectedIndexChanged" runat="server">
<asp:ListItem Text="Show 1"></asp:ListItem>
<asp:ListItem Text="Show 2"></asp:ListItem>
</asp:RadioButtonList>
<asp:Panel id="Panel1" CssClass="panel1" runat="server"></asp:Panel>
<asp:Panel id="Panel2" CssClass="panel2" runat="server"></asp:Panel>
testcontrol.aspx.cs:
protected void ChoicesRadioButtonList_SelectedIndexChanged(object sender, EventArgs e)
{
RadioButtonList bob = (RadioButtonList)sender;
switch (bob.SelectedValue)
{
case "Show 1":
Panel1.Visible = true;
Panel2.Visible = false;
break;
case "Show 2":
Panel1.Visible = false;
Panel2.Visible = true;
break;
}
}
Как я уже говорил, в тестовой форме это работает правильно. Panel1 и Panel2 отображаются правильно, в зависимости от того, какой переключатель выбран.
У меня есть еще одна веб-страница и пользовательский элемент управления с рядом других полей. Когда этот код находится на этой странице, я могу пошагово пройти через код позади события ChoicesRadioButtonList_SelectedIndexChanged, но ничего не происходит.
Я затрудняюсь в следующих шагах, чтобы отладить это (если не считать восстановления всей страницы с нуля). Может кто-нибудь предложить какие-либо предложения о том, где искать?