关于mvc中传递匿名对象,view中无法解析
最近做项目用到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层的解析就可以拿到对应的数据了。
关于mvc中传递匿名对象,view中无法解析的更多相关文章
- ASP.NET MVC3控制器传递匿名对象到视图实例
ASP.NET MVC3 + Entity Framework项目中,从控制器传递匿名对象到视图非常常见,原本以为用dynamic能轻松搞定,最后发现我错了: Controller: 代码如下 复制 ...
- 使用mvc时,在视图view中使用强类型视图,在web.config文件中添加命名空间namespace的引用不起作用,解决方法
这是view中的model代码: @model t_user_info 这是web.config配置文件只的代码: <namespaces> <add namespace=" ...
- Java中的匿名对象
匿名对象就是没有明确给出名字的对象.一般匿名对象只使用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用. 一个普通的常量字符串就可以表示一个匿名String对象. 比如可以 int len ...
- CXF WebService中传递复杂对象(List、Map、Array)
转自:https://wenku.baidu.com/view/047ce58ed0d233d4b14e69eb.html 现在开始介绍传递复杂类型的对象.如JavaBean.Array.List.M ...
- vue方法中传递dom对象示例
<div id="app"> <input type="text" v-on:keyup="onlyNum($event)" ...
- Java中的匿名对象代码实例
/* 匿名对象:就是没有名字的对象. 匿名对象的应用场景: A:调用场景,仅仅只调用一次的时候. 注意:调用多次的时候,不合适. 那么,这种匿名调用有什么好处吗? 有,匿名对象调用完毕就是垃圾.可以被 ...
- JQ中的延迟对象deferred中的promise等的使用
一.什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作.其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们 ...
- js事件对象--DOM中的事件对象/IE中的事件对象/跨浏览器的事件对象
事件对象 在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息.包括导致事件的元素.事件的类型,以及其他与特定事件相关的信息.例如,鼠标操作导致的事件对 ...
- 关于YII中layout中的布局和view中数据的关系
1. view中解释php脚本后显示出的内容会在layout中以<?php echo $content?>输出. 2. view是对应的controller的实例,所以可以通过$this- ...
随机推荐
- Manjaro折腾简单记录
0.Manjaro启动U盘的制作 推荐使用4-16G容量的U盘,避免兼容性问题(U盘太大可能会无法启动). 用rufus就可以,注意选用DD模式才能成功制作. 如果在linux环境里,先用sudo f ...
- nodejs搭建web服务器
一.代码结构 //1.引入相关模块 var http=require("http") var url=require("url") var fs=require ...
- 用ES6创建一个简单工厂模式
1 什么是工厂模式? 工厂模式是用来创建对象的一种最常用的设计模式.我们不暴露创建对象的具体逻辑,而是将将逻辑封装在一个函数中,那么这个函数就可以被视为一个工厂.工厂模式根据抽象程度的不同可以分为:简 ...
- Oracle外部表与SQLLDR
两种方法建立外部表 在建表语句中把EXTERNAL_TABLE参数设定为SQLLDR: 从12C起,可以使用模式来运行SQLLDR: 在建表语句中把EXTERNAL_TABLE参数设定为SQLLDR: ...
- Linux-存储管理
存储基础知识 从工作原理区分: 机械 HDD 固态 SSD SSD的优势: SSD是摒弃传统磁介质,采用电子存储介质进行数据存储和读取的一种技术,突破了传统机械硬盘的性能瓶颈,拥有极高的存储性 ...
- [GXOI/GZOI2019]旧词(树上差分+树剖)
前置芝士:[LNOI2014]LCA 要是这题放HNOI就好了 原题:\(\sum_{l≤i≤r}dep[LCA(i,z)]\) 这题:\(\sum_{i≤r}dep[LCA(i,z)]^k\) 对于 ...
- (六)QDialog,QMessageBox,QFileDialog,QColorDialog颜色,QFontDialog字体
QDialog 对话框: 1.模态对话框: QDialog dlg(this); // 显示模态对话框 exec ,后面的不可操作 dlg.exec(); // 阻塞 2.非模态对话框: QDialo ...
- 前端三剑客:html,css,JavaScript
一.前端概念 二.html详细介绍 三.css基础 四.css盒模型 五.css高级布局 六.JS基础 七.JS常用类 八.JS基础操作 九.JS高级与事件 十.BOM与DOM 十一.jQuery初识 ...
- 20175221 《Java程序设计》第8周学习总结
20175221 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章主要内容有:泛型.链表.堆栈.散列映射.树集以及树映射. 泛型: 声明:可以使用class名称<泛 ...
- Java中interrupt的使用
通常我们会有这样的需求,即停止一个线程.在java的api中有stop.suspend等方法可以达到目的,但由于这些方法在使用上存在不安全性,会带来不好的副作用,不建议被使用.具体原因可以参考Why ...