zoukankan      html  css  js  c++  java
  • jQuery Ajax 调用aspx后台方法返回DataTable 的例子

    直接上代码:

    <%@ Page Language="C#" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">

      /// <summary>
      
    /// param1 param2 对应前面js传递来的参数。
      
    /// </summary>
      
    /// <param name="param1"></param>
      
    /// <param name="param2"></param>
      
    /// <returns></returns>
      [System.Web.Services.WebMethod]
      public static string GetDataTable(String param1, String param2)
      {
        return DataTable2Json(CreateDataTable(param1, param2));
      }

      public static System.Data.DataTable CreateDataTable(String param1, String param2)
      {
        System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser");
        System.Data.DataRow dr;
        dataTable1.Columns.Add(new System.Data.DataColumn("UserId"typeof(System.Int32)));
        dataTable1.Columns.Add(new System.Data.DataColumn("UserName"typeof(System.String)));
        dataTable1.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["UserId"] };

        for (int i = 0; i < 8; i++)
        {
          dr = dataTable1.NewRow();
          dr[0] = i;
          dr[1] = "【多米诺(DomUrl)】" + i.ToString() + " 前端传递的参数的值分别是:" + param1 + "" + param2;
          dataTable1.Rows.Add(dr);
        }
        return dataTable1;
      }

      public static string DataTable2Json(System.Data.DataTable dt)
      {
        StringBuilder jsonBuilder = new StringBuilder();
        jsonBuilder.Append("{\"");
        jsonBuilder.Append(dt.TableName.ToString());
        jsonBuilder.Append("\":[");
        for (int i = 0; i < dt.Rows.Count; i++)
        {
          jsonBuilder.Append("{");
          for (int j = 0; j < dt.Columns.Count; j++)
          {
            jsonBuilder.Append("\"");
            jsonBuilder.Append(dt.Columns[j].ColumnName);
            jsonBuilder.Append("\":\"");
            jsonBuilder.Append(dt.Rows[i][j].ToString());
            jsonBuilder.Append("\",");
          }
          jsonBuilder.Remove(jsonBuilder.Length - 11);
          jsonBuilder.Append("},");
        }
        jsonBuilder.Remove(jsonBuilder.Length - 11);
        jsonBuilder.Append("]");
        jsonBuilder.Append("}");
        return jsonBuilder.ToString();
      }  
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title>jQuery Ajax 调用后台方法返回 DataSet 或者 DataTable 的例子</title>
      <script type="text/javascript" src="jquery-1.6.2.min.js"></script>
    </head>
    <body>
      <form id="form1" runat="server">
      <div id="result"></div>
      </form>
      <script type="text/javascript">
        $(document).ready(function () {
          $.ajax({
            type: "POST",
            url: "<%=Request.Url.ToString() %>/GetDataTable",  /* 注意后面的名字对应CS的方法名称 */
            data: "{\"param1\":\"8888\",\"param2\":\"参数2\"}"/* 注意参数的格式和名称 */
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (result) {
              data = jQuery.parseJSON(result.d);  /*这里是否解析要看后台返回的数据格式,如果不返回表名则无需要 parseJSON */
              t = "<table border='1'>";
              $.each(data.BlogUser, function (i, item) { /* BlogUser是返回的表名 */
                t += "<tr>";
                t += "<td>" + item.UserId + "</td>";
                t += "<td>" + item.UserName + "</td>";
                t += "</tr>";
              })
              t += "</table>";
              $("#result").html(t);
            }
          });
        });      
      </script>
    </body>
    </html>
  • 相关阅读:
    windows CMD大全
    算法导论(一):渐进记号
    数据结构之树
    Python读取文件内容与存储
    Python绘图的颜色设置
    Python中多个列表与字典的合并方法
    Pandas之Dataframe叠加,排序,统计,重新设置索引
    数据挖掘——聚类算法(一)
    WPF学习————制作时钟
    Opencv Sharp 基于灰度模板的多目标匹配
  • 原文地址:https://www.cnblogs.com/longyi/p/2259633.html
Copyright © 2011-2022 走看看