`
xylike809
  • 浏览: 14086 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

ajax调用后台Datatable

 
阅读更多
之前遇到的问题,用AjaxPro方式没有实现,后来使用的Jquery .ajax方法调用后台的WebMethod返回的DataTable来实现的。有园友问关于将DataTable转换成JSON格式的疑问,我就简单的写个例子,描述实现过程。


--------------------------------------------------------------------------------

1,新建页面TestAjax2.aspx;

<body>
    <form id="form1" runat="server">
    <input id="btnJson" type="button" value="JSON" />
   <div class="case_input1" id="article">
            <ul>
            </ul>
          
        </div>
    </form>
</body>



2.添加引用System.Web.Extension.

   添加命名空间

using System.Web.Services;
using System.Collections;
using System.Web.Script.Serialization;

3. 在.cs文件中构建WebMethod方法,返回DataTable类型。

[WebMethod]
public static string getDataTable(string cid, string site)
{
     DataSet  ds = new UserCase().GetResult(cid, site, string.Empty);
     string s = DTtoJSON(ds.Tables[0]);
     return s.ToString();
}



4.添加方法,将DataTable转换为JSON。

public static string DTtoJSON(DataTable dt)
   {
       JavaScriptSerializer jss = new JavaScriptSerializer();
       ArrayList dic = new ArrayList();
       foreach (DataRow row in dt.Rows)
       {
           Dictionary<string, object> drow = new Dictionary<string, object>();
           foreach (DataColumn col in dt.Columns)
           {
               drow.Add(col.ColumnName, row[col.ColumnName]);
           }
           dic.Add(drow);
       }
       return jss.Serialize(dic);
   }

5.aspx页面中用JQUERY进行AJAX调用。

<script type="text/javascript" src="jquery-1.6.2.js"></script>
<script language="javascript" type="text/javascript">
        $(function () {
            $("#btnJson").click(function () {
                $.ajax({
                    type: "Post",
                    url: "TestAjax2.aspx/getRelatedArticle", //url页面/方法名
                    data: "{'cid':'C0503','site':'TP'}",            //参数 {key/value}
                    contentType: "application/json;charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                             data = jQuery.parseJSON(data.d);
                            $.each(data, function (i, item) {
                              $("#article ul").append('<li><a href="' + item.Href + '" target=_blank>' + item.Title+ '</a></li>')
                            })
                       
                    },
                    error: function (error) {
                        alert(error);
                    }
                });
            })
        })
    </script>
分享到:
评论

相关推荐

    django使用ajax 与后台进行交互

    解决方法: 点击datatable 这一行后,首先构造一个模态框 而后利用ajax 将行的某个属性传回后台 后台d调用数据库将属性全部查询后 用json 形式发送给前台 前台的模态框进行渲染: 实现步骤: 1、构建一个模态框:...

    PrimeFaces学习教程

    2.12.4 Ajax Status 显示ajax后台运行状态。 72 2.12.5 Focus 73 2.12.6 Effect: 73 2.12.7 Collector : 74 2.12.8 Resizable 给任何JSF组件添加可调整大小的行为。 74 2.12.9 RequestContext : 75 3 TouchFaces 76...

    亮剑.NET深入体验与实战精要2

    5.1.9 水池子——DataTable 214 5.2 数据库操作类的封装详解 217 5.2.1 执行命令方法的封装 217 5.2.2 查询数据方法的封装 220 5.2.3 数据统计方法的封装 221 5.2.4 实现SqlParameter方式 222 5.2.5 实现多数据库的...

    亮剑.NET深入体验与实战精要3

    5.1.9 水池子——DataTable 214 5.2 数据库操作类的封装详解 217 5.2.1 执行命令方法的封装 217 5.2.2 查询数据方法的封装 220 5.2.3 数据统计方法的封装 221 5.2.4 实现SqlParameter方式 222 5.2.5 实现多数据库的...

    ExtAspNet_v2.3.2_dll

    -修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。 -修正basic/hello.aspx示例在单独浏览器打开后,不能弹出对话框的BUG。 -隐藏示例首页最外层RegionPanel...

    ASP.NET3.5从入门到精通

    7.9.2 DataTable 数据表对象 7.9.3 DataRow 数据行对象 7.9.4 DataView 数据视图对象 7.10 DataReader 数据访问对象 7.10.1 DataReader 对象概述 7.10.2 DataReader 读取数据库 7.10.3 异常处理 7.11 连接池概述 ...

    asp.net知识库

    完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算...

    ASP.NET 3.5 开发大全11-15

    7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView数据视图对象 7.10 DataReader数据访问对象 7.10.1 DataReader对象概述 7.10.2 DataReader读取数据库 7.10.3 异常处理 7.11 连接池概述 7.12 参数...

    ASP.NET 3.5 开发大全

    7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView数据视图对象 7.10 DataReader数据访问对象 7.10.1 DataReader对象概述 7.10.2 DataReader读取数据库 7.10.3 异常处理 7.11 连接池概述 7.12 参数...

    ASP.NET 3.5 开发大全1-5

    7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView数据视图对象 7.10 DataReader数据访问对象 7.10.1 DataReader对象概述 7.10.2 DataReader读取数据库 7.10.3 异常处理 7.11 连接池概述 7.12 参数...

    ASP.NET 3.5 开发大全word课件

    7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView数据视图对象 7.10 DataReader数据访问对象 7.10.1 DataReader对象概述 7.10.2 DataReader读取数据库 7.10.3 异常处理 7.11 连接池概述 7.12 参数...

    ASPNET35开发大全第一章

    7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView数据视图对象 7.10 DataReader数据访问对象 7.10.1 DataReader对象概述 7.10.2 DataReader读取数据库 7.10.3 异常处理 7.11 连接池概述 7.12 参数...

Global site tag (gtag.js) - Google Analytics