Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从jquery调用asp.net vb函数_Jquery_Asp.net_Vb.net - Fatal编程技术网

从jquery调用asp.net vb函数

从jquery调用asp.net vb函数,jquery,asp.net,vb.net,Jquery,Asp.net,Vb.net,在尝试从javascript(jquery)调用vb代码中的函数时,出现以下错误 在视图(.aspx)中,我有以下代码: <asp:ImageButton ID="imgbtnRetirar" runat="server" OnClientClick="return alerteliminar();" IdEliminar='<%# Eval("CODIGO") %>'

在尝试从javascript(jquery)调用vb代码中的函数时,出现以下错误

在视图(.aspx)中,我有以下代码:

<asp:ImageButton ID="imgbtnRetirar" runat="server" OnClientClick="return alerteliminar();" IdEliminar='<%# Eval("CODIGO") %>'
                                                            ImageUrl="~/Images/ic_eliminar.gif" ToolTip="Borrar al Usuario Aprobador"></asp:ImageButton>
<script type="text/javascript">
        function alerteliminar() {
        var letra="cancel";
        $("#texto").text("Seguro que desea Eliminar al usuario autorizador?");
        $( "#dialog-message" ).dialog({
          modal: true,
          buttons: {
            "Ok": function() {
              $( this ).dialog( "close" );
               var id = $("#ctl00_ctphFrmContent_grvLista_ctl02_imgbtnRetirar").attr("ideliminar");
                $.ajax(
                {
                    type: "POST",
                    url: "AprobadoresxModificacion.aspx/EliminarRegistro",
                    data: "{'Id':'" + id + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (msg) {
                        console.log(msg)
                    }
                });
            },
            "Cancel": function() {
            $( this ).dialog("Eliminar");
            }
          }
        });
      }
    </script>

500(内部服务器错误)

确保VB方法是
共享的

公共共享函数EliminarRegistro(ByVal Id为整数)为字符串

还要确保使用WebMethod的类继承了
System.Web.Services.WebService

Public Class Service1
    Inherits System.Web.Services.WebService
    <System.Web.Services.WebMethod(BufferResponse:=False)> _
    Public Function GetBigData() As DataSet
        'implementation code
    End Function
End Class
公共类服务1
继承System.Web.Services.WebService
_
公共函数GetBigData()作为数据集
'实现代码
端函数
末级

我需要做的是向页面添加一个ASP.Net AJAX ScriptManager,并将其EnablePageMethods属性设置为true,如下所示

<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="400" EnableScriptGlobalization="True" EnablePageMethods="true">
        </asp:ScriptManager>


一种可能性是,您的
Id
参数是
Integer
,但您将其作为带引号的字符串值在JSON中传递:
数据:“{Id':'”+Id+“}”
。尝试删除以下值周围的引号:
数据:“{Id':“+Id+”}”
。首先,您需要了解您不是从jQuery调用VB.NET。您正在调用web方法。您正在发送请求。然后asp.net知道如何调用特定的方法。但是没有直接的联系。除此之外,我知道错误可能发生在
BorrarAprobador
btnBuscar\u单击
Mensaje
中。另外,请停止此
Integer.Parse(Id)
或将此
ByVal Id声明为String
-您的JASON被引用。试试
“{Id:+Id+“}”
我试了两种方法,但我得到了相同的错误。我个人不喜欢这样:``。我喜欢创建虚拟目录。然后,我只能调试website/web方法,并通过fiddler2调用它。当我看到它工作时,我会想如果我的AJAX工作,当我将公共共享函数EliminarRegistro(ByVal Id为整数)作为字符串时,我会得到以下错误:“Me”仅在实例方法中有效。y Try,我遇到以下错误:在没有类的显式实例的情况下,无法从共享方法或共享成员初始值设定项中引用类的实例成员。我使用此选项:Dim vb As New Paginas_Mantenimiento_AprobadoresXmodificion Try If vb.BorrarAprobador(Integer.Parse(Id))然后vb.btnBuscar_单击(无,无)返回“确定”,否则vb.Mensaje(“无)返回“坏”End If Catch ex As Exception Return ex.Message End Try--我得到了相同的错误,我认为您无法从WebMethod访问
btnBuscar\u Click
Mensaje
,我只是尝试返回链,并给出了相同的错误。只返回“OK”。
<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="400" EnableScriptGlobalization="True" EnablePageMethods="true">
        </asp:ScriptManager>