У меня есть панель обновления с некоторыми текстовыми полями и валидаторами полей. Триггер ddlUserTypeId. Идея состоит в том, что если пользователь изменяет выбранное значение в раскрывающемся списке, FilteredTextBoxExtension будет включен / отключен в зависимости от выбранного значения.
Это работает нормально, пока я не включу TextBoxExtenders.
После этого, даже если требования соблюдены, обратная передача невозможна.
Как я могу преодолеть эту проблему?
Мне нужно каждый раз запускать обратную передачу выпадающего списка.
HTML
<asp:UpdatePanel ID="pnlEnablePassword" runat="server" ChildrenAsTriggers="false">
<ContentTemplate>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" CssClass="textBox" />
<uc1:FilteredTextBoxExtender ID="txtPassword_FilteredTextBoxExtender" runat="server" Enabled="False" TargetControlID="txtPassword" FilterType="Numbers" />
<asp:RequiredFieldValidator ID="valReqPassword" runat="server" ControlToValidate="txtPassword" Display="Dynamic" ErrorMessage="Requiered"/>
<asp:TextBox ID="txtPasswordConfirm" runat="server" TextMode="Password" CssClass="textBox" />
<uc1:FilteredTextBoxExtender ID="txtPasswordConfirm_FilteredTextBoxExtender" runat="server" Enabled="False" TargetControlID="txtPasswordConfirm" FilterType="Numbers" />
<asp:RequiredFieldValidator ID="valReqPasswordConfirm" runat="server" ControlToValidate="txtPasswordConfirm" meta:resourcekey="valReqPasswordConfirm" Display="Dynamic" ErrorMessage="Requiered"/>
<asp:CompareValidator ID="valCompPasswordConfirm" runat="server" meta:resourcekey="valCompPasswordConfirm" Display="Dynamic" ControlToValidate="txtPasswordConfirm" ControlToCompare="txtPassword"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="chkEnablePassword" EventName="CheckedChanged" />
<asp:AsyncPostBackTrigger ControlID="ddlUserTypeId" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
Event-Handler
protected void UserTypeChanged(Object sender, EventArgs e)
{
txtPassword.Text = "";
txtPasswordConfirm.Text = "";
txtPassword.Enabled = chkEnablePassword.Checked;
txtPasswordConfirm.Enabled = chkEnablePassword.Checked;
valReqPassword.Enabled = chkEnablePassword.Checked;
valReqPasswordConfirm.Enabled = chkEnablePassword.Checked;
valCompPasswordConfirm.Enabled = chkEnablePassword.Checked;
}