C# UpdatePanel OnTextChanged内的ASP.NET文本框不';t火
我有一个更新面板,里面有文本框C# UpdatePanel OnTextChanged内的ASP.NET文本框不';t火,c#,asp.net,textbox,updatepanel,textchanged,C#,Asp.net,Textbox,Updatepanel,Textchanged,我有一个更新面板,里面有文本框 <asp:UpdatePanel runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:TextBox runat="server" ID="txtChangeAmount" AutoPostBack="true" OnTextChanged="TxtChangeAmount_TextChanged" EnableViewStat
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox runat="server" ID="txtChangeAmount" AutoPostBack="true" OnTextChanged="TxtChangeAmount_TextChanged" EnableViewState="true"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
嗯,当我在文本框中输入一些文本时,它会按预期成功触发其ContextChanged事件,但当我从文本框中清除输入的文本时,它会导致正确的回发,但ContextChanged事件不会触发。
我认为问题与ViewState有关。
当页面第一次加载时,文本框也被加载,其中没有值,因此在ViewState中没有存储文本框的值。当我清除textbox值时,页面生命周期开始,它将比较textbox的新值和旧值,即viewstate中的值。可能它们是相同的(null或空),因此不会触发OnTextChanged事件
在这种情况下,如何使事件发生
请注意,回发没有问题,但只有在文本框为空时才有问题。如果UpdateMode属性设置为Conditional,则UpdatePanel控件的内容会在以下情况下更新:
当您显式调用UpdatePanel控件的Update方法时。 当UpdatePanel控件嵌套在另一个UpdatePanel控件中,并且父面板被更新时。
当回发由使用UpdatePanel控件的Triggers属性定义为触发器的控件引起时。在此场景中,控件显式触发面板内容的更新。该控件可以位于与触发器关联的UpdatePanel控件的内部或外部。
当ChildrenAsTriggers属性设置为true并且UpdatePanel控件的子控件导致回发时。嵌套UpdatePanel控件的子控件不会导致外部UpdatePanel控件的更新,除非它们被显式定义为触发器。也许可以试试这个家伙,我的问题不是进行回发,因为在任何情况下都没有问题。我的问题是当文本框被清空时触发TextChanged事件,就像其他情况一样。我的问题不是进行回发,因为它在任何情况下都不会发生问题。我的问题是在文本框被清空时触发TextChanged事件,就像其他情况一样