我有一些没有触发的OnTextChanged事件。 PostBack设置为true,并且它们与asp.net / java代码中的其他位一起被更改(使用当前日期/时间)。他们的价值观正在发生变化,所以事件应该触发,但事实并非如此:
<asp:TextBox ID="lblRoute" runat="server" AutoPostBack="true" OnTextChanged="btnRoute_Click" BorderColor="White" BorderStyle="None" ForeColor="White" Width="5px"></asp:TextBox>
正如我所提到的,这个文本框的值正在改变(它是可见的,但看起来不是 - 它纯粹是为了触发它的事件而存在),但事件没有被触发。
编辑 - 只是为了填补更多的空白,用户按这样的方式按下按钮:
<button id="btnRoute" onclick="GetRoute(); return false;" runat="server" style="width: 30%">Route</button>
按钮调用它,最终(正如我所提到的,这是在标签被更改时被调用):
document.getElementById("lblRoute").value = Date.now();
哪个更改标签lblRoute,应该触发我们的事件(是的,被调用的函数确实存在)。到目前为止看起来我可能需要更改焦点,正如其他人所说,在更改标签后才能解雇它。我有什么想法吗?
答案 0 :(得分:1)
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.textchanged(v=vs.110).aspx:
当文本框的内容出现时,会引发TextChanged事件 邮件到服务器之间的变化。
文本更改后页面不会立即回发,但会在文本框失去焦点时回发。
答案 1 :(得分:1)
仅当您的文本框失去焦点时才会触发OnTextChanged
的“asp:TextBox
”事件。