注意:我是ASP.NET的新手。我实际上是在周一接受培训,但我们有一个热门项目,要求我尽可能多地潜入并完成工作。
我的页面上有一个文本框,我希望它能在服务器上调用一个事件。如果"改变了我就不在乎"意味着改变并失去焦点,或者只是在密钥发生时。这两种情况都有效。
问题在于,出于某种原因,每当我更改文本框然后删除焦点时,服务器端方法都不会被调用。通过Chrome中的调试器查看,我甚至看不到任何类型的AJAX调用会通知服务器文本框已更改。
我的代码:
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:TextBox ID="tempTagBuilder" runat="server"
CssClass="depBuilder_tempTagBuilder"
ontextchanged="tempTagBuilder_TextChanged" AutoPostBack="True"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
//whenever the text is changed
protected void tempTagBuilder_TextChanged(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("Hit");
}
任何人都知道我的问题可能是什么?
我得到了它(有点)。我必须进入updatepanel的属性并将textchanged事件添加到triggers集合中。但是,现在无论何时发送更新,它都会清空我页面上的其他文本框!
答案 0 :(得分:0)
它不会触发,因为它最有可能出现在更新面板中。似乎updatepanel要求您为事件设置触发器。
Problem with textbox inside updatepanel - not causing OnTextChanged event