我这里有一个vb.net函数,它接受2个参数,这里传递的值将来自我的jquery代码。是否可以将值从jquery传递给vb.net?我已经阅读了一些解决方案,但他们指出vb.net方法应该是一个web方法。在我的情况下,vb函数不是一个Web方法,所以打击出来。以下是我的代码的一些片段。希望你能帮助我。
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
答案 0 :(得分:2)
您不需要Web服务来使用WebMethod
属性来装饰您的方法。如果您在常规页面上执行此操作,则会创建一个所谓的页面方法。简而言之:
在您的页面中创建公共静态方法,并使用WebMethod
属性进行修饰:
<WebMethod()> _
Public Shared Function VoucherNotClaimed(ByVal strVoucherType, ByVal strPRVNo) As Boolean
' TODO: Search in database
Return True
End Function
将ScriptManager添加到ASPX页面和set its EnablePageMethods
property to True
。另外,请确保your web.config is set up properly。
使用JavaScript调用您的方法:
var claimed = PageMethods.VoucherNotClaimed(voucherType, prvNo);
您可以在以下MSDN文章中找到更详细的说明:
请注意,这是经典方式。使用JQuery,也可以在没有 ScriptManager的情况下调用页面方法;快速谷歌搜索page method jquery
会产生大量的博客条目,这些博客条目会涉及到每个可能的细节。