繁体   English   中英

TextBox OnTextChanged / PostBack不起作用

[英]TextBox OnTextChanged / PostBack not working

我的问题是我似乎无法让我的文本框触发OnTextChanged事件。 我也查了,它似乎并不像它做一个autopostback尽管它被设置为true的事实。

基本上,我试图验证文本框中的文本,然后根据验证状态启用或禁用按钮。

这是我的代码:

<asp:Panel ID="panelAccessControl" runat="server" Visible="false">
    <asp:Panel ID="panelAddMileageRate" runat="server" BorderWidth="2" >
        <h2>Add Mileage Rate</h2>
        <asp:ScriptManager ID="scriptManagerMileageRate" runat="server" />
        <asp:UpdatePanel ID="updatePanelAddMileageRate" runat="server">
            <ContentTemplate>
                <p>
                    Purpose:
                    <asp:DropDownList ID="ddlAddPurpose" runat="server"
                         AutoPostBack="true" Width="200px"></asp:DropDownList>
                    <br />
                    Country:
                    <asp:DropDownList ID="ddlAddCountry" runat="server"
                         AutoPostBack="true" Width="200px" >
                    </asp:DropDownList>
                    <br />
                    Effective Date:
                    <asp:Calendar ID="calAddEffectiveDate" runat="server"> 
                    </asp:Calendar>
                    <br />
                    Mileage Rate:
                    <asp:TextBox ID="txtAddMileageRate" runat="server"
                        AutoPostBack="true" Width="200px" 
                        CausesValidation="true" 
                        ontextchanged="txtAddMileageRate_TextChanged">
                    </asp:TextBox>
                    <asp:RegularExpressionValidator 
                         ID="validatorAddMileageRate"
                         ControlToValidate="txtAddMileageRate" runat="server" 
                         SetFocusOnError="true"
                         ErrorMessage="Only Numbers allowed" 
                         ValidationExpression="^\d{1,20}(\.\d{0,4})?$">
                    </asp:RegularExpressionValidator>
                </p>
            </ContentTemplate>
        </asp:UpdatePanel>
        <p>
            <asp:Button ID="buttonAddSecurityGroup" runat="server" 
                        Text="Submit" onclick="buttonAddSecurityGroup_Click" />
        </p>
    </asp:Panel>
    <asp:Label ID="lblStatus" runat="server" Text=""></asp:Label>
</asp:Panel>

有问题的文本框是txtAddMileageRate

txtAddMileageRate AsyncPostBackTriggerEventName属性设置为TextChanged

在更新面板内部和ContentTemplate外部添加以下代码

<Triggers>             
  <asp:AsyncPostBackTrigger ControlID="txtAddMileageRate" 
                          EventName="TextChanged" />            
</Triggers>

其他建议:

您是否尝试过查看作为AjaxControlToolKit一部分的AutoComplete( http://www.asp.net/ajax/ajaxcontroltoolkit/samples/autocomplete/autocomplete )控件? 它的行为与您希望解决方案的行为相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM