簡體   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