C#DataTable 轉換成JSON數據

這裏需要引用 using System.Web.Script.Serialization;

		/// <summary>
        /// 將datatable轉換爲json  
        /// </summary>
        /// <param name="dtb">Dt</param>
        /// <returns>JSON字符串</returns>
        public static string Dtb2Json(DataTable dtb)
        {
            JavaScriptSerializer jss = new JavaScriptSerializer();
            System.Collections.ArrayList dic = new System.Collections.ArrayList();
            foreach (DataRow dr in dtb.Rows)
            {
                System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>();
                foreach (DataColumn dc in dtb.Columns)
                {
                    drow.Add(dc.ColumnName, dr[dc.ColumnName]);
                }
                dic.Add(drow);

            }
            //序列化  
            return jss.Serialize(dic);
        }

js中取值:

$.ajax({
            url: "../../RoleManage.aspx?Method=GetRoles&PageIndex=" + PageIndex + "&PageSize="+PageSize,
            type: "Post",
            datatype: "JSON",
            contentType: "application/json",
            success: function (date) {
                var result = date.split("&");//分割字符串,0是角色信息,1是總行數
                var roles = JSON.parse(result[0]);//將角色信息轉換成json,ChangeDateFormat(roles[0].CreateTime)時間格式
                $("#PageCount").text("共 "+result[1]+" 條");
                //1:表格數據
                $("#tbody1").html("");//清空數據
                var cchtml = "";
                for (var i = 0; i < roles.length; i++) {
                    cchtml += "<tr><td>" + roles[i].RoleName + "</td><td>" + roles[i].Remake + "</td>";
                    cchtml += "<td><a href=\"EditRole.aspx?id="+roles[i].Id+"\">修改角色</a><a οnclick='DeleteRow("+roles[i].Id+")'>刪除角色</a></td></tr>"
                }
                $("#tbody1").html(cchtml);

                //2:頁碼展示


            }
        })
//日期轉換
function ChangeDateFormat(cellval) {
        var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10));
        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
        var hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
        var m = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
        var s = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
        return date.getFullYear() + "-" + month + "-" + currentDate + " " + hour+":"+m+":"+s;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章