码迷,mamicode.com
首页 > Web开发 > 详细

datatable 转换json

时间:2016-06-03 14:10:50      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

1.页面ajax传值到一般处理程序

 function btnOnClick() {
        alert(1);
        $.ajax({
            url: "../ashx/HanderTest.ashx",
            type: "GET",
            dataType: "json",
            success: function (data) {
                alert("成功");
                alert(data.status);
                var obj = data.rows;
                var html = "";
                html += "<ul>";
                for (var i = 0; i < obj.length; i++) {
                    html += "<li>" + obj[i].Product + "</li>";
                    html += "<li>" + obj[i].Description + "</li>";
                }
                html += "</ul>";
                $("#span_tr").append(html);
                //document.getElementById("span_tr").append = html;
            },
            fail: function () {
                alert("失败");
            },
            error: function () {
                alert("错误");
            }

        });
            } 

2.一般处理程序转换json

技术分享
     public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            #region DataTable类型数据
            DataTable dt = new DataTable("Datas");
            DataColumn dc = null;
            dc = dt.Columns.Add("ID", Type.GetType("System.Int32"));
            dc.AutoIncrement = true;//自动增加 
            dc.AutoIncrementSeed = 1;//起始为1 
            dc.AutoIncrementStep = 1;//步长为1 
            dc.AllowDBNull = false;

            dc = dt.Columns.Add("Product", Type.GetType("System.String"));
            dc = dt.Columns.Add("Description", Type.GetType("System.String"));
            for (int i = 0; i < 5; i++)
            {
                DataRow dr = dt.NewRow(); ;
                dr["Product"] = "测试产品" + i;
                dr["Description"] = "测试产品描述" + i;
                dt.Rows.Add(dr);
            }
            #endregion

            #region JSON 格式化
            StringBuilder Str = new StringBuilder();
            Str.Append("{\"status\":200,");
            Str.Append("\"rows\":[");
            DataRowCollection drc = dt.Rows;
            for (int i = 0; i < drc.Count; i++)
            {
                Str.Append("{");
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    string strKey = dt.Columns[j].ColumnName;//列名
                    string strValue = drc[i][j].ToString();//列名对应的值
                    if (j < dt.Columns.Count - 1)
                    {
                        Str.AppendFormat("\"{0}\":\"{1}\",", strKey, strValue);//有逗号
                    }
                    else
                    {
                        Str.AppendFormat("\"{0}\":\"{1}\"", strKey, strValue);//无逗号
                    }
                }
                Str.Append("},");
            }
            Str.Remove(Str.Length - 1, 1);//移除最后一个逗号
            Str.Append("]}");
            #endregion

            string jsonstr = Str.ToString();
            context.Response.Write(jsonstr);
        }
View Code

 

datatable 转换json

标签:

原文地址:http://www.cnblogs.com/zqybk/p/5555869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!