0

我正在尝试通过功能键在我的 ASP.Net 页面上调用 VB.Net 子例程。我已经设法使用 Javascript 函数检测到按键,现在正尝试从 Javascript 调用 VB.Net 子例程。我已经看到提出了两种方法,但都没有成功:

  1. 使用 jQuery
  2. 使用 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。请告知为什么会这样,或者是否有其他方法可以实现这一目标。

4

2 回答 2

0

webmethod 路由无法访问页面上的元素,除非我弄错了,否则应该只在需要异步执行 sub 时使用。

我认为最好的方法是在页面上放置一个隐藏按钮,然后从检测到函数调用的js中,单击该按钮。

于 2012-10-25T14:42:31.893 回答
0

当用户在他的浏览器(客户端)中按下某个键时,你想在你的 asp.net 服务器上调用 vb.net 函数吗?

如果是,那么您可以尝试ajax。

于 2012-10-25T15:28:51.387 回答