ArrayList ArrayX = new ArrayList(); using (var context = new BaseDb()) { List<businessManageModel> model = context.businessManageModel.Where(u => u.IsDel == 0).ToList(); foreach(businessManageModel item in model){ ArrayX.Add( item.X.ToString()); } } ViewBag.ArrayX = ArrayX;
转成json,顺便说一下,能用List<T>就用,用arrayList还得转一次,在C#里还好说,js你怎么办?
var temp = '@Html.Raw(projects.ToJson())'; var projects; if (typeof (JSON) == 'undefined') { projects = eval("(" + temp + ")"); } else { projects = JSON.parse(temp); }
其中那个projects.ToJson()是我们自己写的转成json的扩展,你可以自己写转成json字符串的代码
晓北大神, 这一段是写在后台进行序列化的么
@NeXT1995: 这是js。。@Html.Raw的意思是输出HTML字符串,不会HTML编码,就是把你的json字符串原样输出,发送到客户端的时候,就可以把json字符串用js转换为js的对象
@NeXT1995: 楼上的这个var json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(obj);
就是代替我给你的代码里面的projects.ToJson()部分
@顾晓北: 嗯嗯,谢谢你,终于可以啦
序列化成json字符串.输出到页面上.定义一个js对象接收.
那个json我不知道要怎么用,能写一下给我参考一下吗,谢谢您
跪求大神教我,将ArrayList进行序列化
var json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(obj);
是在View进行序列化吗?为什么我在页面做还是不行
@NeXT1995:
1 using (var context = new BaseDb()) 2 { 3 var model = context.businessManageModel.Where(u => u.IsDel == 0).ToList(); 4 ViewBag.ArrayX = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(model ); 5 }
@BERWOLF: 页面中就直接
var list = @ViewBag.ArrayX; for... { ..... }
@BERWOLF:好的,谢谢你