【发布时间】:2014-10-20 13:33:59
【问题描述】:
我知道我做错了,不知道如何继续。请帮忙。如果有其他办法!
我有一个Textbox,它是使用JQuery 加载的。更改文本框值后,我需要调用OnTextChanged中定义的服务器端脚本
<asp:TextBox runat="server" ID="Textbox1" OnTextChanged="Textbox1_TextChanged" AutoPostBack="true"/>
在 JQuery 中,我已经分配了值。我有一个Textbox 和一个button。单击此按钮后,我会打开一个带有TreeView 的窗口。从TreeView 中选择值后,我需要填充文本框并且需要刷新一些Server controls。这是我需要Textbox1_TextChanged服务器调用的地方
$('#Textbox1').val("TreeView Selected Value");
一旦分配了这个值,我需要调用Textbox1_TextChanged 事件被调用。更改文本框值后未调用服务器端方法!
解决方案:
这是一篇关于如何从 JavaScript 实现回发的好文章。 http://www.dreamincode.net/forums/topic/217965-calling-c%23-event-in-javascript/ 。还要在链接中未提及的页面中添加EnableEventValidation="false"。
【问题讨论】:
-
如果你希望它是动态的,你只能通过使用 ajax 来做到这一点
-
AJAX 的问题是,我需要使用 WebMethod 或 HTTP 处理程序,我无法访问网页服务器控件。如果我错了,请纠正我!
-
您已经使用 jquery 动态添加了此文本框,因此可以选择使用 ajax,或者您必须在客户端处理更改事件。
-
手动输入文本是否会触发 OnTextChange 事件? ...您还可以使用 UpdatePanel 往返于服务器 stackoverflow.com/questions/6361680/…