0

我这里有一个 vb.net 函数,它接受 2 个参数,并且将在此处传递的值将来自我的 jquery 代码。是否可以将值从 jquery 传递到 vb.net?我已经阅读了一些解决方案,但他们指出 vb.net 方法应该是 web 方法。就我而言, vb 函数不是一种网络方法,因此可以解决这个问题。下面是我的一些代码片段。希望你能在这方面帮助我。

jQuery代码

$('#TextBox_PRVNo').keypress(function (event) {
    if (event.keyCode == '13') {
        //basically, pass values from textbox 1 and textbox 2 to VoucherNotClaimed() method
    }
});

VB.Net 代码

    Private Function VoucherNotClaimed(ByVal strVoucherType, ByVal strPRVNo) As Boolean
        ' TODO: Search in database
        Return True
    End Function
4

1 回答 1

2

您不需要 Web 服务来使用WebMethod属性来装饰您的方法。如果您在常规页面上执行此操作,则会创建一个所谓的页面方法。简而言之:

  1. 在您的页面中创建一个公共静态WebMethod方法,并使用以下属性进行修饰:

    <WebMethod()> _
    Public Shared Function VoucherNotClaimed(ByVal strVoucherType, ByVal strPRVNo) As Boolean
        ' TODO: Search in database
        Return True
    End Function
    
  2. 将 ScriptManager 添加到您的 ASPX 页面并将EnablePageMethods属性设置为True. 另外,请确保您的 web.config 设置正确

  3. 用 JavaScript 调用你的方法:

    var claimed = PageMethods.VoucherNotClaimed(voucherType, prvNo);
    

您可以在以下 MSDN 文章中找到更详细的解释:


请注意,这是执行此操作的经典方法。使用 JQuery,也可以在没有ScriptManager 的情况下调用页面方法;快速的谷歌搜索page method jquery会产生大量的博客条目,涉及每一个可能的细节。

于 2012-12-12T08:22:04.457 回答