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

前端 未结 3 1900
青春惊慌失措
青春惊慌失措 2021-01-28 08:08

In winfrom applications i can have

textbox1.keydown 

event, but i want to achieve same thing in webform (asp.net), so how can i do that? I need

相关标签:
3条回答
  • 2021-01-28 08:55

    In web application there are something you do in the client and some in the server.

    I don't now what you what achieve, but i think that in most cases rise the keydown event will be in the client.

    SO, there is a great library called JQUERY (javascript) that helps you do this kind of staff.

    see the documentation of KEYDOWN

    I wrote an example for you

    HTML Code

    <input id="txtBox" type="text" />​
    

    JQUERY (javascript) Code

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

    OK to explain the code

    • The first line i am checking if the document is ready
    • then i caching the keydown event and firing a function
    • Inside the function i am calling to an ajex function of jquery, inside the function you will see a "done" functio nand a var called html which hold the content that returns from the server
    0 讨论(0)
  • 2021-01-28 08:58

    In Win Forms you use running machine and interact with it, as you write smth keydown event is fired, but in web forms, once the client side files are sent from server to multiple clients (for ex. stackoverflow.com and its users) no server side event can be fired without javascript. To achieve your goal you I advice you to catch keyUp event in JS and send data by Callback then return data needed from server to client back and handle that data in JS.
    Second Way is to protected void TextBox1_**TextChanged**(object sender, EventArgs e) use this event, but it will refresh the page on every key up.

    0 讨论(0)
  • 2021-01-28 09:03

    You can use onkeydown event, which will then call your client side function. Inside the client side function, you can make an ajax call to populate data from database.

        <asp:TextBox ID="txtName" runat="server" onkeydown="javascript: callMe();" />
    
        function callMe()
        {
            $.ajax({
              url: 'URLOFTHEFUNCTION',
              type: 'GET',
              cache: false,
              success: function (result) {
                  alert(result)
              }
           });
       }
    
    0 讨论(0)
提交回复
热议问题