繁体   English   中英

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

[英]what is the alternate event of Textbox.KeyDown of Winform in WebForm in C# asp.net?

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

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

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

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

请参阅KEYDOWN的文档

我为你写了一个例子

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);
    });
});

});​

好的解释代码

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM