多控制器传递不同类型实体类到共用视图方案
来源:互联网 发布:凤城高中淘宝屋 编辑:程序博客网 时间:2024/06/08 07:06
asp.net MVC中,现有多个控制器需要共用同一个视图,并且要传自己的实体类供视图操作。问题是,这些实体类的类型并不相同,里面的属性有部分出入。那么在共用视图的情况下,视图要如何处理这些实体类呢?
我们知道,不管是通过View("视图名",实体类),还是通过ViewBag传递,在视图中,都需要转换回原先的类型,才能进行使用。现在传递过来的实体类类型不同,那么转换的话,就让人为难了。
当然,通过传递一个额外的类型参数,在视图中加以判断,分别转换,这样是可以的,但总觉有点笨。
有一种方案是:在控制器中,将实体类全部转换为JObject,然后在视图中,统一操作JObject对象。
没代码没J8:
controller:
using Newtonsoft.Json.Linq;public ActionResult ControllerA(int id){ EntityA objA = ... //获取实体类A对象 return View("PublicView", JObject.FromObject(objA));}public ActionResult ControllerB(int id){ EntityB objB = ... //获取实体类B对象 return View("PublicView", JObject.FromObject(objB));}
@model Newtonsoft.Json.Linq.JObject@using Newtonsoft.Json.Linq;@{ Layout = null; int id = Model.Value<int>("ID"); string owner = Model.Value<string>("Owner"); string createTime = Model.Value<DateTime?>("CreateTime").ToString() ?? "";}
0 0
- 多控制器传递不同类型实体类到共用视图方案
- 把数据从控制器传递到视图
- MVC控制器传递多个Model到视图,使用ViewData, ViewBag, 部分视图, TempData, ViewModel, Tuple
- cakephp3 如何从控制器传递数据到视图
- 控制器与视图数据传递
- ASP.NET中MVC从后台控制器传递数据到前台视图的方式
- IOS视图控制器间参数传递
- UI - 视图控制器之间的值传递
- 视图控制器ViewControllers之间的数据传递
- 多个tableview共用一个控制器
- 视图控制器和视图类
- 视图控制器和视图类
- 视图控制器和视图类
- Android jni c/c++传递实体类到java
- UINavigationController多视图控制器
- UINavigationController多视图控制器
- 视图控制器类概述
- ASP.NET MVC中从后台控制器(Controller)传递数据到前台页面视图(View)方式
- dos2unix 批量将dos格式的文件转换成unix格式,支持文件扩展名自定义
- C++中的引用
- uva 10954 Add All(排序)
- linux errno 错误码
- LaTex常用符号(很全,再也不用网上查了)
- 多控制器传递不同类型实体类到共用视图方案
- dwarf2调试信息格式——chapter1,2
- 运用面向对象的分析与设计模式巧解面试算法(二)
- 反编译apk
- C++ Redis mset 二进制数据接口封装方案
- 学习Nehe Lesson1
- Doubles
- CSS3选择器——2、层次选择器
- hdu2859---Phalanx