0

I have an update panel with some textboxes and field validators. The trigger is ddlUserTypeId. The idea is, that if the user changes selected value in a dropdown, FilteredTextBoxExtension will be enabled/disabled, depending on selected value. This works fine until I enable the TextBoxExtenders.
After that, even if the requirements are met, no postback is possible.
How can i overcome this issue?
I need the postback of dropdown being fired every time.

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;
}
Hugo Vrana
  • 173
  • 1
  • 3
  • 15
  • Have you checked your console? Do you get any error? – SehaxX Jul 04 '18 at 07:31
  • @SehaxX after few postbacks i get this exception: Invalid postback or callback argument. Event validation is enabled using in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. – Hugo Vrana Jul 04 '18 at 07:36
  • "Invalid postback" error has many possible causes: https://stackoverflow.com/questions/228969/invalid-postback-or-callback-argument-event-validation-is-enabled-using-page. Check if the postback data has no conflict against repopulating/rebinding other controls. – Tetsuya Yamamoto Jul 05 '18 at 04:07
  • Can you clarify what you mean by "This works fine until I enable the TextBoxExtenders. After that, even if the requirements are met, no postback is possible." Also, include all relevant code/markup, including the ddl. – wazz Jul 06 '18 at 00:37

0 Answers0