在 winfrom 应用程序中,我可以拥有
textbox1.keydown
事件,但我想在 webform (asp.net) 中实现相同的目标,那么我该怎么做呢?我需要从数据库中检索有关此事件的数据...
您可以使用 onkeydown 事件,然后该事件将调用您的客户端函数。在客户端函数内部,您可以进行 ajax 调用以从数据库中填充数据。
<asp:TextBox ID="txtName" runat="server" onkeydown="javascript: callMe();" />
function callMe()
{
$.ajax({
url: 'URLOFTHEFUNCTION',
type: 'GET',
cache: false,
success: function (result) {
alert(result)
}
});
}
在 Win Forms 中,您使用正在运行的机器并与之交互,因为您编写 smthkeydown
事件被触发,但在 Web 表单中,一旦客户端文件从服务器发送到多个客户端(例如 stackoverflow.com 及其用户),则没有服务器可以在没有 javascript 的情况下触发附带事件。为了实现您的目标,我建议您在 JS 中捕获 keyUp 事件并通过回调发送数据,然后将所需的数据从服务器返回到客户端,并在 JS 中处理该数据。
第二种方法 是protected void TextBox1_**TextChanged**(object sender, EventArgs e)
使用此事件,但它会在每次按键时刷新页面。
在 Web 应用程序中,您在客户端执行一些操作,而在服务器中执行一些操作。
我现在不知道你取得了什么成就,但我认为在大多数情况下,keydown 事件将出现在客户端中。
所以,有一个很棒的库叫做 JQUERY (javascript) 可以帮助你做这种工作人员。
我为你写了一个例子
HTML 代码
<input id="txtBox" type="text" />
JQUERY (javascript) 代码
$(document).ready(function() {
$("#txtBox").keydown(function() {
$.ajax({
url: "URLTOTHEFUNCTIONINTHESERVER",
type: 'GET',
cache: false
}).done(function( html ) {
alert(html);
});
});
});
OK解释代码