【问题标题】:How do I call a server side VB.net function from jquery in an asp.net form?如何以 asp.net 形式从 jquery 调用服务器端 VB.net 函数?
【发布时间】:2015-10-06 11:15:24
【问题描述】:

我正在尝试从 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>

【问题讨论】:

  • 我很确定这是不可能的,但也许比我聪明的人会加入。
  • 我没有收到任何错误,并且正在针对此特定事件调用警报(“文件输入”)
  • 我不知道这对我使用的&lt;WebMethod(EnableSession:=True)&gt; 有帮助,但对于Public Shared Sub ... 和每次工作。顺便提一句。这重要吗PageMethods...?大写/小写
  • 顺便说一句。你在那个函数下的代码是什么?
  • 目前我只是分配一个带有断点的变量以确保它被调用

标签: javascript jquery asp.net vb.net webmethod


【解决方案1】:

我会创建一个触发点击事件并使用 AJAX 调用您的网络方法的函数,并使用 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

【讨论】:

  • 更新答案以澄清传递数据
【解决方案2】:

您可以使用Ajax 请求。我刚刚输入了这个,所以你可能需要谷歌一下语法,以防我把它搞砸了。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多