我正在尝试通过功能键在我的 ASP.Net 页面上调用 VB.Net 子例程。我已经设法使用 Javascript 函数检测到按键,现在正尝试从 Javascript 调用 VB.Net 子例程。我已经看到提出了两种方法,但都没有成功:
- 使用 jQuery
- 使用 Web 方法
1) 使用 jQuery,我在 Web 浏览器中收到一条错误消息,显示 PageMethods undefined。我正在使用带有 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
。请告知为什么会这样,或者是否有其他方法可以实现这一目标。