【发布时间】:2014-02-24 09:00:03
【问题描述】:
我有一个更新面板,里面有文本框。
<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>
好吧,当我在文本框中输入一些文本时,它会按预期成功触发其 OnTextChanged 事件,但是当我从文本框中清除输入的文本时,它会正确回发,但不会触发 OnTextChanged 事件。 我认为问题与 ViewState 有关。 当页面第一次加载时,文本框也被加载,其中没有值,因此文本框的 ViewState 中没有存储值。当我清除文本框值时,页面生命周期开始,它将文本框的新值与旧值进行比较,即视图状态中的值。可能它们是相同的(null 或空),因此 OnTextChanged 事件不会触发。
在这种情况下如何使事件触发?
请注意,我没有回发问题,但只有文本框为空时的事件。
【问题讨论】:
-
伙计们,我的问题不是回发,因为无论如何它都没有问题。我的问题是在清空文本框时也会触发 TextChanged 事件,就像其他情况一样
标签: c# asp.net textbox updatepanel textchanged