C# WebMethod的jQuery Get()不起作用
我试图调用jQuery函数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(
$.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()
路线。谢谢你的帮助,你真的为我指明了正确的方向。