关于mvc中传递匿名对象,view中无法解析
程序员文章站
2022-07-11 08:14:01
最近做项目用到MVC,发现用linq查询得到的数据是匿名类型对象,通过模型绑定、或者ViewBag、ViewData进行数据传递后,View解析报错:“object 未包含xx的定义”; 没找到好的解决办法,就只能通过内部对象一个类型去解决。 所以想到了对内部对象一个类型转换,转换成Jobject, ......
最近做项目用到mvc,发现用linq查询得到的数据是匿名类型对象,通过模型绑定、或者viewbag、viewdata进行数据传递后,view解析报错:“object 未包含xx的定义”;
没找到好的解决办法,就只能通过内部对象一个类型去解决。
所以想到了对内部对象一个类型转换,转换成jobject,使用jtoken进行转换,对数据对象进行包裹,然后进行传递,view就可以正确解析了,下面贴一下代码;如果有好的解决办法,欢迎留言~~~
using newtonsoft.json; using newtonsoft.json.linq; var reslist= list.select(u => { jobject job = new jobject{ new jproperty("data" ,jtoken.fromobject(u)) }; return job; }).tolist();
list就是使用linq查询获取到的匿名类型对象,需要先tolist一下转换为ienumerable类型再进行select映射
view层的解析就可以拿到对应的数据了。
上一篇: 都特么好好单着吧!!