我试图通过功能键在我的ASP.Net页面上调用VB.Net子例程。我已经设法使用Javascript函数检测按键,现在我正试图从Javascript调用VB.Net子例程。我已经看到提出了两种方法,但两种方法都没有成功:
1)使用jQuery,我在Web浏览器中收到一条错误消息,指出PageMethods未定义。 我正在使用带有EnablePageMethods =“True”的ScriptManager,并在Javascript函数中使用语法“PageMethods.VBsubroutine(),但似乎无法识别PageMethods。
2)我还将WebMethods声明如下(用于测试目的):
<System.Web.Services.WebMethod()> _
Public Sub ToggleTestButton()
If btnTest.Text = “Alpha” Then
btnTest.Text = “Omega”
Else
btnTest.Text = “Alpha”
End If
End Sub
有人建议将WebMethods声明为
<System.Web.Services.WebMethod()> _
Public Shared Function xxx()
但是我在控件btnTest.Text
加下划线时遇到错误。关于必须创建对象实例的事情?问题出在Shared
上。此外,我不打算从函数中获取任何输出,因此使用Sub。
有人建议必须Public Shared Function
。请告知为何如此,或者是否有其他方法可以实现相同目的。
答案 0 :(得分:0)
webmethod路由无法访问页面上的元素,除非我错了,否则只应在需要异步执行子时使用。
在我看来,最好的方法是在页面上放置一个隐藏按钮,然后从检测到函数调用的js中单击按钮。
答案 1 :(得分:0)
当用户在浏览器(客户端)按某个键时,是否要在asp.net服务器上调用vb.net函数?
如果是,那么你可以试试ajax。