从Javascript调用VB.Net

时间:2012-08-29 09:17:16

标签: javascript vb.net

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

  1. 使用jQuery
  2. 使用Web方法
  3. 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。请告知为何如此,或者是否有其他方法可以实现相同目的。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

当用户在浏览器(客户端)按某个键时,是否要在asp.net服务器上调用vb.net函数?

如果是,那么你可以试试ajax。