Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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
C# WebMethod的jQuery Get()不起作用_C#_Jquery_Webmethod - Fatal编程技术网

C# WebMethod的jQuery Get()不起作用

C# WebMethod的jQuery Get()不起作用,c#,jquery,webmethod,C#,Jquery,Webmethod,我试图调用jQuery函数$.get()来调用我的WebMethod,但它只在代码隐藏中点击Page\u Load事件。我可以在firebug中看到请求被发送到/admin/manage users.aspx/deleteUser?u=user1,但它从未命中WebMethod jquery $('#delete').each(function () { $(this).click(function () { var userName = $(this).closest(

我试图调用jQuery函数
$.get()
来调用我的
WebMethod
,但它只在代码隐藏中点击
Page\u Load
事件。我可以在firebug中看到请求被发送到
/admin/manage users.aspx/deleteUser?u=user1
,但它从未命中WebMethod

jquery

$('#delete').each(function () {
    $(this).click(function () {
        var userName = $(this).closest('tr').find('span.userName').text();
        $.get('/admin/manage-users.aspx/deleteUser', { u: userName });
    });
});
aspx.cs

[WebMethod]
public void deleteUser() {
    string userName = Request.QueryString["u"];
    if(!string.IsNullOrEmpty(userName)) {
        if(Membership.DeleteUser(userName))
            Response.Redirect(Request.Url.ToString());
    }
}
解决方案

我在下面赞扬了bugz,因为他为我指明了正确的方向

为了让您的
[WebMethod]
在aspx中工作,您的方法必须是静态的


这里有更多信息的链接

如果要返回数据或变量,请确保在使用jquery/ajax时出于某种原因使用data.d。microsoft希望在变量末尾使用.d。我花了很长时间才弄明白

当您调试deleteUser方法时,请尝试此即时消息猜测,该方法从未被调用

var jqxhr = $.get("admin/manage-users.aspx/deleteUser",  { userName: userName }  function() {
    alert("success");
  })
  .success(function() { alert("second success"); })
  .error(function() { alert("error"); })
  .complete(function() { alert("complete"); });

这里有更多信息的链接

如果要返回数据或变量,请确保在使用jquery/ajax时出于某种原因使用data.d。microsoft希望在变量末尾使用.d。我花了很长时间才弄明白

当您调试deleteUser方法时,请尝试此即时消息猜测,该方法从未被调用

var jqxhr = $.get("admin/manage-users.aspx/deleteUser",  { userName: userName }  function() {
    alert("success");
  })
  .success(function() { alert("second success"); })
  .error(function() { alert("error"); })
  .complete(function() { alert("complete"); });

谢谢你的回复,但是这并不能真正解决我的问题。我知道ajax()给了我更多的灵活性,但我只是在做一个简单的GET,GET()应该可以工作HMM我猜你在deleteuser上的断点从未被调用过如何尝试在成功或错误事件上中断,看看发生了什么好主意。我今天正在做一些其他的事情,所以可能需要一两天才能回到这个项目。当我研究你的建议时,我会回来查核的。再次感谢!好的,我很快就有机会看了。它抛出了一个500个未知的网络方法我发现了。我的webmethod需要是静态的,在那之后,我只需要决定我是想发布一篇文章还是获取一篇文章。最后,我带着一篇帖子走上了
$.ajax()
路线。谢谢你的帮助,你真的为我指明了正确的方向。谢谢你的回答,但是这并不能真正解决我的问题。我知道ajax()给了我更多的灵活性,但我只是在做一个简单的GET,GET()应该可以工作HMM我猜你在deleteuser上的断点从未被调用过如何尝试在成功或错误事件上中断,看看发生了什么好主意。我今天正在做一些其他的事情,所以可能需要一两天才能回到这个项目。当我研究你的建议时,我会回来查核的。再次感谢!好的,我很快就有机会看了。它抛出了一个500个未知的网络方法我发现了。我的webmethod需要是静态的,在那之后,我只需要决定我是想发布一篇文章还是获取一篇文章。最后,我带着一篇帖子走上了
$.ajax()
路线。谢谢你的帮助,你真的为我指明了正确的方向。