45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 编程代码 > 阅读资讯:怎么样通过JQuery Ajax动态生成Table表格?

怎么样通过JQuery Ajax动态生成Table表格?

2016-06-03 14:22:18 来源:www.45fan.com 【

怎么样通过JQuery Ajax动态生成Table表格?

前言:

本示例大概功能是前台通过JQuery的Ajax调用一般处理程序(Handler),获取表格需要显示的信息,然后转换成json格式返回给前台,前台获取到数据后循环构建表格的行,最好把行附加到表里。

目标:

a 熟悉简单JQuery Ajax的使用

b 了解如何构造基本的Json格式的数据(构建Json也可以通过第三方的dll)

c 熟悉下handler的基本用法

1 简单效果图

怎么样通过JQuery Ajax动态生成Table表格?

2 前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DialogAjax.aspx.cs" Inherits="JQueryTest_DialogAjax" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <title></title>
 <link href="../JQueryUi/jquery-ui-1.8.5.custom.css" rel="stylesheet" type="text/css" />
 <script src="../JQueryUi/jquery-1.4.2.min.js" type="text/javascript"></script>
 <script src="../JQueryUi/jquery-ui-1.8.5.custom.min.js" type="text/javascript"></script>
 <style type="text/css">
  #divTb
  {
   width:800px;
   border:1px solid #aaa;
   margin:0 auto;
  }
  .even{background:#CCCCCC;}
  .odd{background:#FFFFFF;}
 </style>
 <script type="text/javascript">
  //获取发布模块类型
  function getModuleInfo() {
   $.ajax({
    type: "GET",
    dataType: "json",
    url: "../Handler/TestHandler.ashx?Method=GetModuleInfo",
    //data: { id: id, name: name },
    success: function(json) {
     var typeData = json.Module;
     $.each(typeData, function(i, n) {
      var tbBody = ""
      var trColor;
      if (i % 2 == 0) {
       trColor = "even";
      }
      else {
       trColor = "odd";
      }
      tbBody += "<tr class='" + trColor + "'><td>" + n.ModuleNum + "</td>" + "<td>" + n.ModuleName + "</td>" + "<td>" + n.ModuleDes + "</td></tr>";
      $("#myTb").append(tbBody);
     });
    },
    error: function(json) {
     alert("加载失败");
    }
   });
  }
  $(function() {
   getModuleInfo();
  });
 </script>
</head>
<body>
 <form id="form1" runat="server">
 <div id="divTb">
  <table id="myTb" style=" width:100%">
  </table>
 </div>
 </form>
</body>
</html>

3 Handler代码

<%@ WebHandler Language="C#" Class="TestHandler" %>
using System;
using System.Web;
using System.Collections.Generic;
using System.Text;
using DataDAL;
using DataEnity;
public class TestHandler : IHttpHandler {
 HttpRequest Request;
 HttpResponse Response;
 public void ProcessRequest (HttpContext context) {
  //不让浏览器缓存
  context.Response.Buffer = true;
  context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
  context.Response.AddHeader("pragma", "no-cache");
  context.Response.AddHeader("cache-control", "");
  context.Response.CacheControl = "no-cache";
  context.Response.ContentType = "text/plain";
  Request = context.Request;
  Response = context.Response;
  string method = Request["Method"].ToString();
  System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(method);
  methodInfo.Invoke(this, null);
 }
 public void GetModuleInfo()
 {
  StringBuilder sb = new StringBuilder();
  string jsonData = string.Empty;
  List<Module> lsModule = ModuleDAL.GetModuleList();
  sb.Append("{\"Module\":[");
  for (int i = 0; i < lsModule.Count; i++)
  {
   jsonData = "{\"ModuleNum\":" + "\"" + lsModule[i].ModuleNum + "\"" + ",\"ModuleName\":" + "\"" + lsModule[i].ModuleName + "\"" + ",\"ModuleDes\":" + "\"" + lsModule[i].ModuleDes + "\"" + "},";
   sb.Append(jsonData);
  }
  if (lsModule.Count > 0)
   sb = sb.Remove(sb.Length - 1, 1);
  sb.Append("]}");
  Response.Write(sb);
 }
 public bool IsReusable
 {
  get {
   return false;
  }
 }
}

以上代码超简单吧,JQuery Ajax动态生成Table表格的内容就全部完成了,希望对大家有所帮助。


本文地址:http://www.45fan.com/bcdm/52112.html
Tags: 动态 ajax jquery
编辑:路饭网
推广内容
推荐阅读
热门推荐
推荐文章
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部