从jquery调用web方法

从jquery调用web方法,jquery,asp.net,ajax,Jquery,Asp.net,Ajax,下面是我在default.aspx.cs页面中使用的方法 private void DeleteSelectedUser(object sender, DeleteItemRowClickedEventArgs e) { //logic goes here } 在default.asmx页面的jquery中调用上述方法,下面是我使用的jquery。我可以得到弹出窗口,但无法发射方法,请帮助我 <script type="text/javascript">

下面是我在default.aspx.cs页面中使用的方法

private void DeleteSelectedUser(object sender, DeleteItemRowClickedEventArgs e)
        { //logic goes here
}
在default.asmx页面的jquery中调用上述方法,下面是我使用的jquery。我可以得到弹出窗口,但无法发射方法,请帮助我

    <script type="text/javascript">
  function UserDel() {
        $("#message").html("Are you sure you want to delete User?");
        $("#dialog").dialog({
            title: "Delete Confirmation",
            buttons: {
                Ok: function () {
                    $.ajax({
                        type: "POST",
                        url: "Users.aspx/DeleteSelectedUser",
                        data: "{}",
                        contentType: "application/json",
                        dataType: "json",
                        success: function (msg) {
                            // Do something interesting here.
                        }
                    });
                },
                Cancel: function () {
                    $(this).dialog('close');
                    return false;
                }
            },
            modal: true
        });
    }

  </script>

函数UserDel(){
$(“#消息”).html(“您确定要删除用户吗?”);
$(“#对话框”)。对话框({
标题:“删除确认”,
按钮:{
Ok:函数(){
$.ajax({
类型:“POST”,
url:“Users.aspx/DeleteSelectedUser”,
数据:“{}”,
contentType:“应用程序/json”,
数据类型:“json”,
成功:功能(msg){
//在这里做些有趣的事。
}
});
},
取消:函数(){
$(this.dialog('close');
返回false;
}
},
莫代尔:对
});
}

最好的方法(我谦卑地认为)是使用ASP按钮,通过javascript将其可见性设置为隐藏,并将其放在更新面板中,在完成逻辑后用JS调用它,然后让它为您调用后端函数。

从jquery运行方法只需几件事:

  • 该函数缺少WebMethod属性
  • 您没有将数据传递给webmethod
  • 我建议你改变你的方法如下:

    [WebMethod]
    private void DeleteSelectedUser()
    { 
      //logic goes here
    }
    

    点击该方法后,在
    数据中传递参数

    查看您点击的是
    url中的
    用户。aspx
    不是
    默认值。asmx
    是否添加了
    [WebMethod]
    属性和
    ScriptManager
    EnablePageMethods
    ?@NaveedYousaf如果web方法位于页面上而不是ASMX上,则根据第一句话。