在winform应用程序中,我可以
textbox1.keydown
事件,但我想在webform(asp.net)中实现相同的功能,那么我该怎么做呢?我需要在此事件中从数据库中检索数据......
答案 0 :(得分:2)
您可以使用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)
}
});
}
答案 1 :(得分:0)
在Win Forms中,您使用正在运行的计算机并与之交互,因为您编写了smth keydown
事件,但是在Web表单中,一旦客户端文件从服务器发送到多个客户端(例如stackoverflow) .com及其用户)没有javascript可以触发服务器端事件。 为了实现您的目标,我建议您在JS中捕获keyUp事件并通过Callback发送数据,然后返回从服务器到客户端所需的数据并在JS中处理该数据。
第二种方式是protected void TextBox1_**TextChanged**(object sender, EventArgs e)
使用此事件,但它会在每个键上刷新页面。
答案 2 :(得分:0)
在Web应用程序中,您可以在客户端中执行某些操作,而在服务器中执行某些操作。
我现在不知道你取得了什么,但我认为在大多数情况下,keydown事件会在客户端上升。
所以,有一个很棒的库叫JQUERY(javascript)可以帮助你做这种工作。
请参阅KEYDOWN
的文档我为你写了example
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);
});
});
});
确定解释代码