我如何调用服务器端VB.net函数从jquery在asp.net的形式

How do I call a server side VB.net function from jquery in an asp.net form?

本文关键字:net jquery 函数 asp VB 何调用 调用 服务器端      更新时间:2023-09-26

我正在尝试从jquery调用服务器端vb代码中的方法。

    import System.Web.Services
    ...
    'my VB.net Code
    <WebMethod()> _
    Public Shared Function SubmitReport_Click()
        'this is where my code will go
        Return Nothing
    End Function

在我的javascript代码中,警报正在被调用,但SubmitReport_Click没有被调用。

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<script type="text/javascript">
    $("#<%= FileInput.ClientID%>").on('filebatchselected', function (event) {
        alert("file input");
        pagemethods.SubmitReport_Click();
    })
</script>

我会创建一个函数,在点击事件上触发并使用AJAX调用您的web方法,并使用JSON传递任何相关数据。

$(".clickMe").click(doWebMethod);
function doWebMethod () {    
    var data = { 'name': 'jessikwa' , 'location': 'ny' }
    var params = "{'dataPackage': '" + JSON.stringify(data) + "'}";
    $.ajax({
        type: "POST",
        url: webMethodUrl,
        async: true,
        data: params,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            alert(msg.d);
        },
        error: function () {
            alert("fail");
        }
    });
}
//VB HERE
<WebMethod()> _
Public Shared Function SubmitReport_Click(ByVal dataPackage as String) as String
    Dim rtnStr As String = "OK"
    //deserialize data package here
    Return rtnStr
End Function

您可以使用Ajax请求。这是我刚打出来的,所以你可能需要谷歌一下语法,以防我搞砸了。

$.ajax({
    type: "GET",
    url: "FileName.aspx/SubmitReport_Click",
    success: function(){
        alert('It Worked!');
    },
    failure: function() {
        alert('It Failed!');
    }
});