在ASP.NET WebForms中使用jQuery调用’WebMethod’
发布时间:2020-05-25 04:19:07 所属栏目:asp.Net 来源:互联网
导读:我在下面的WebMethod中设置了一个断点,但我从来没有遇到断点。 CS: [WebMethod]public static string search(){ return worked;} ASPX: function search() { $.ajax({ type: POST, url: ProcessAudit/req_br
|
我在下面的WebMethod中设置了一个断点,但我从来没有遇到断点。 CS: [WebMethod]
public static string search()
{
return "worked";
}
ASPX: function search() {
$.ajax({
type: "POST",url: "ProcessAudit/req_brws.aspx/search",data: "{}",contentType: "application/json; charset=utf-8",dataType: "json",success: function (msg) {
alert(msg)
}
});
}
<button id = "btnSearch" onclick = "search()" >Search</button> 解决方法确保在ScriptManager元素中启用了页面方法:<asp:ScriptManager ID="scm" runat="server" EnablePageMethods="true" /> 并且您已通过在onclick处理程序中返回false取消了该按钮的默认操作,否则该页面将执行完整的回发,并且您的AJAX调用可能永远没有时间完成。这是一个完整的工作示例: <%@ Page Language="C#" %>
<script type="text/c#" runat="server">
[System.Web.Services.WebMethod]
public static string search()
{
return "worked";
}
</script>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="Form1" runat="server">
<asp:ScriptManager ID="scm" runat="server" EnablePageMethods="true" />
<button id="btnSearch" onclick="search(); return false;" >Search</button>
</form>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
function search() {
$.ajax({
type: 'POST',url: '<%= ResolveUrl("~/default.aspx/search") %>',data: '{ }',contentType: 'application/json; charset=utf-8',dataType: 'json',success: function (msg) {
alert(msg.d)
}
});
}
</script>
</body>
</html>
另一种可能性是不引人注意地订阅点击处理程序: <button id="btnSearch">Search</button> 然后在一个单独的javascript文件中: $('#btnSearch').click(function() {
$.ajax({
type: 'POST',success: function (msg) {
alert(msg.d)
}
});
return false;
});
您可能还会注意到成功回调中msg.d属性的使用,ASP.NET使用它来包装整个响应,以及使用ResolveUrl方法正确生成页面方法的URL而不是硬编码。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何在WebPage中显示嵌入的Excel文件?
- 充分利用ASP.NET的三种缓存提高站点性能的注意方法
- 没有密码的Asp.net Memebership授权
- asp.net-mvc – ASP.NET MVC在Html帮助器中使用部分渲染
- asp.net-core-signalr – 在ClientSide上获取SignalrR Conn
- ASP.NET会话ID在浏览器选项卡之间共享
- asp.net-mvc – 如何在运行时之前编译cshtml
- asp.net – UpdatePanel似乎重新编码页面标题中的字符?
- asp.net – 缺少AuthenticationManager引用
- asp.net – 如何使用Eval在数据绑定控件中调用扩展方法
推荐文章
站长推荐
- 防止ASP.Net中的重复回发(C#)
- 缩小ASP.NET应用程序的Html输出
- VS 2015 Update 2 – 调试时不存在变量,为什么?
- asp.net-mvc – 将部分视图渲染为字符串MVC4
- asp.net-mvc – asp.net mvc – 子文件夹
- asp.net-mvc – ASP.NET MVC – 无法绑定数组以查
- asp.net-mvc – ASP.NET MVC推荐的依赖注入框架是
- asp.net-mvc – 在MVC身份(2.0.1)中的regenerate
- asp.net-mvc – 在ascx文件中使用Html.RenderPar
- asp.net-mvc – 从控制器操作返回301重定向
热点阅读
