后台ashx返回的list在前台使用Jquery如何反序列化并展示在前台呢。
我要在后台查询数据库,并将得到的DataTable转换为List,然后序列化为JSON数据返回给前台。
还有,有方法可以直接将datatable转换为JSON数据吗?我用的是JavaScriptSerialized类,不能直接将datatable序列化为JSON数据。有什么第三方的插件可以实现吗?
------解决方案--------------------------------------------------------
可以将DataTable转换为List集合 然后序列化json返回给前台
- C# code
List<Person> pList = new List<Person>();Person p = null;foreach(DataRow row in DataTable1.Rows){ p = new Person(); p.ID = Convert.ToInt32(row["ID"]); p.Name = row["Name"].ToString(); pList.Add(p);}JavaScriptSerializer jss = new JavaScriptSerializer();string jsonArr = jss.Serialize(pList);context.Response.Write(jsonArr);public class Person{public int ID{get;set;}public string Name{get;set;}}
------解决方案--------------------------------------------------------
- JScript code
$.ajax({ url: "../Handler/TestHandler.ashx", async: true, success: function (data, status) { if (status == "success") { var json = $.parseJSON(data); //遍历json } } });