C#asp.net中WebForm中Winform的Textbox.KeyDown的备用事件是什么?

在winfrom应用程序中,我可以拥有

textbox1.keydown 

事件,但我想在webform(asp.net)中实现相同的function,那么我该怎么做呢? 我需要在这个事件中从数据库中检索数据……

您可以使用onkeydown事件,然后调用您的客户端function。 在客户端function内部,您可以进行ajax调用以从数据库填充数据。

   function callMe() { $.ajax({ url: 'URLOFTHEFUNCTION', type: 'GET', cache: false, success: function (result) { alert(result) } }); } 

在Win Forms中,您使用正在运行的计算机并与之交互,因为您编写了smth keydown事件,但是在Web表单中,一旦客户端文件从服务器发送到多个客户端(例如stackoverflow.com及其用户)服务器端事件可以在没有javascript的情况下触发。 为了实现您的目标 ,我建议您在JS中捕获keyUp事件并通过Callback发送数据,然后返回从服务器到客户端所需的数据并在JS中处理该数据。
第二种方法protected void TextBox1_**TextChanged**(object sender, EventArgs e)使用此事件,但它会刷新每个键上的页面。

在Web应用程序中,您在客户端中执行某些操作,而在服务器中执行某些操作。

我现在不知道你取得了什么,但我认为在大多数情况下,keydown事件会在客户端上升。

所以,有一个很棒的库叫做JQUERY(javascript)可以帮助你做这种工作。

请参阅KEYDOWN的文档

我为你写了一个例子

HTML代码

  

JQUERY(javascript)代码

 $(document).ready(function() { $("#txtBox").keydown(function() { $.ajax({ url: "URLTOTHEFUNCTIONINTHESERVER", type: 'GET', cache: false }).done(function( html ) { alert(html); }); }); });​ 

好的解释代码

  • 第一行我正在检查文件是否准备好了
  • 然后我缓存keydown事件并触发一个函数
  • 在函数内部我调用jquery的ajex函数,在函数内部你会看到一个“完成”函数和一个名为html的var,它保存从服务器返回的内容