【问题标题】:Calling a function in abc.aspx.vb using jquery on keypress event of a textbox在文本框的按键事件上使用 jquery 调用 abc.aspx.vb 中的函数
【发布时间】:2015-09-09 16:42:00
【问题描述】:

我在 abc.aspx.vb 中定义了一个函数 sendDetails()。我想使用文本框按键事件并调用此函数。为此,我尝试使用 jQuery,因为文本框不支持按键事件。我尝试了很多搜索但无法找到解决方案。希望在这里找到一个。

abc.aspx

<asp:TextBox ID="txtTextBox" runat="server" Width="100%" MaxLength="200" onkeypress="EnterEvent(event)">

abc.aspx.vb

Public Sub sendDetails()

    If String.IsNullOrEmpty(Me.txtTextBox.Text) Then
        Exit Sub
    End If
    Me.txtTextBox.Text = ""


End Sub

有人可以帮我解决这个问题吗?我需要写一个jQuery。

非常感谢。

【问题讨论】:

标签: javascript jquery asp.net vb.net


【解决方案1】:

您可以在按键事件上编写一个 jQuery Ajax 调用来实现此目的。请记住,代码后面的函数必须是静态的,并在其上方定义了“WebMethod”标签,才能通过 jQuery Ajax 调用对其进行访问。这是按键事件的一个非常基本的示例:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#txtTextBox").keypress(function () {
                $.ajax({
                    type: "POST",
                    url: "Default.aspx/sendDetails",
                    contentType: "application/json; charset=utf-8",
                    data: "{ TextBoxData:'" + $("#txtTextBox").val() + "'}",
                    dataType: "json",
                    success: function (data) {
                        //-- do whatever you need on returned result here
                        alert(data.d);
                    },
                    error: function (result) {
                        alert('Error: ' + result.responseText);
                    }
                });
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="txtTextBox" runat="server" Width="100%" MaxLength="200"></asp:TextBox>
        </div>
    </form>
</body>
</html>

在后面的代码中,将要调用的共享/静态函数定义为:

<System.Web.Services.WebMethod()>
Public Shared Function sendDetails(TextBoxData As String) As String
    'If String.IsNullOrEmpty(Me.txtTextBox.Text) Then
    '    Exit Sub
    'End If
    'Me.txtTextBox.Text = ""
    Return "Value in textbox is: " & TextBoxData
End Function

请记住,由于它是共享/静态的,您将无法访问任何页面控件或视图状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多