asp.net如何在前台利用jquery Ajax调用后台方法
一 :最近因为帮同事开发项目使用到了asp.net,而我又想实现Ajax异步请求....从网上查询了一下资料之后,原来在asp.net中利用Ajax调用后台方法同样很简单,为了便于自己以后查看,特将此整理后记录如下
先贴上前台代码如下:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="aspnetAjax.Index" %> 2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4 <html xmlns="http://www.w3.org/1999/xhtml"> 5 <head runat="server"> 6 <title> 7 <%=Title %></title> 8 <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 9 <style type="text/css"> 10 td 11 { 12 text-align: center; 13 } 14 </style> 15 <script type="text/javascript"> 16 $(function () { 17 $("#but").attr("disabled", false); 18 }); 19 //(全/反)选: 20 function getChk() { 21 if ($("#ch").attr("checked")) { 22 $(".chk").attr("checked", true); 23 } else { 24 $(".chk").attr("checked",false); 25 } 26 } 27 //利用AJAX将数据发送到后台并判断数据选中情况方法: 28 function sendData() { 29 var sendValue = ""; 30 $(".chk").each(function (i,chk) { 31 if (chk.checked) { 32 sendValue += $.trim($(chk).parent().parent().find(".getData").text()); 33 sendValue += ","; 34 } 35 }) 36 if (sendValue.length == 0) { 37 alert("请选择需要传输的数据!!"); 38 return; 39 } 40 sendValue = sendValue.substr(0, sendValue.length - 1); 41 //开始ajax to asp.net: 42 $.ajax({ 43 type: "post", 44 contentType: "application/json", 45 url: "Index.aspx/GetAjaxValue", 46 data: "{sendValue:‘" + sendValue + "‘}", 47 beforeSend: function () { 48 $("#but").attr("disabled", true); 49 }, 50 success: function (data) { 51 alert(data.d); 52 }, complete: function () { }, error: function () { } 53 }) 54 } 55 </script> 56 </head> 57 <body> 58 <form id="form1" runat="server"> 59 <div> 60 <table width="400px"; border="1px solid blue" cellpadding="0px" cellspacing="0px" style="border-color: Green; text-align:center"> 61 <tr> 62 <th> 63 全选<input type="checkbox" id="ch" onclick="getChk()" /> 64 </th> 65 <th> 66 数据 67 </th> 68 </tr> 69 <tr> 70 <td> 71 <input type="checkbox" class="chk" /> 72 </td> 73 <td class="getData"> 74 1234 75 </td> 76 </tr> 77 <tr> 78 <td> 79 <input type="checkbox" class="chk" /> 80 </td> 81 <td class="getData"> 82 5678 83 </td> 84 </tr> 85 <tr> 86 <td> 87 <input type="checkbox" class="chk" /> 88 </td> 89 <td class="getData"> 90 12345678 91 </td> 92 </tr> 93 <tr> 94 <td> 95 <input type="checkbox" class="chk" /> 96 </td> 97 <td class="getData"> 98 87654321 99 </td> 100 </tr> 101 </table> 102 </div> 103 </form> 104 <hr /> 105 <input type="button" id="but" onclick="sendData()" value="将选中的数据利用Ajax发送到后台" style=" background-color:#0080BB; cursor:pointer; border:1px solid #008094; border-radius:5px;" /> 106 </body> 107 </html>
后台处理代码:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Web.Script.Serialization; 8 using System.Web.Services; 9 10 namespace aspnetAjax 11 { 12 public partial class Index : System.Web.UI.Page 13 { 14 public string title = "asp.net中使用Ajax"; 15 protected void Page_Load(object sender, EventArgs e) 16 { 17 18 } 19 [WebMethod] 20 public static string GetAjaxValue(string sendValue) 21 { 22 return sendValue; 23 } 24 } 25 }
注意事项说明1:
注意事项说明二:
最终实现:
天气寒冷,就先写到这里....
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。