MVC4 ViewModel 存入多个Model,以及前台的显示用法。具体类名可以参数代替
2015-06-17 09:46
363 查看
多谢版主!搞定了~
把代码分享下,让和我一样的菜鸟可以节约一些时间
ZhuYecontrollers代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using QunZhongLuXian.Models;//项目名称,引用自定义的Model
namespace QunZhongLuXian.Controllers
{
public class viewModel
{
public List<ZuZhiJiGou> zzjgModel { get; set; }
public List<LingDaoJiangHua> ldjhModel { get; set; }
public List<GongZuoDongTai> gzdtModel { get; set; }
public List<WenJianTongZhi> wjtzModel { get; set; }
public List<XueXiJiaoLiu> xxjlModel { get; set; }
public viewModel(List<Models.ZuZhiJiGou> zzjgList, List<Models.LingDaoJiangHua> ldjhList, List<Models.GongZuoDongTai> gzdtList, List<Models.WenJianTongZhi> wjtjList, List<Models.XueXiJiaoLiu> xxjlList)
{
this.zzjgModel = zzjgList;
this.ldjhModel = ldjhList;
this.gzdtModel = gzdtList;
this.wjtzModel = wjtjList;
this.xxjlModel = xxjlList;
}
}
public class ZhuYeController : Controller
{
QunZhongLuXianContext db = new QunZhongLuXianContext();
public ActionResult Index()
{
var vm = new viewModel(db.ZuZhiJiGous.ToList(), db.LingDaoJiangHuas.ToList(), db.GongZuoDongTais.ToList(), db.WenJianTongZhis.ToList(), db.XueXiJiaoLius.ToList());
vm.zzjgModel = db.ZuZhiJiGous.ToList();
vm.ldjhModel = db.LingDaoJiangHuas.OrderByDescending(p => p.ShiJian).ToList();
vm.gzdtModel = db.GongZuoDongTais.OrderByDescending(p => p.ShiJian).ToList();
vm.wjtzModel = db.WenJianTongZhis.OrderByDescending(p => p.ShiJian).ToList();
vm.xxjlModel = db.XueXiJiaoLius.OrderByDescending(p => p.ShiJian).ToList();
return View(vm);
}
}
}
对应/Views/ZhuYe/Index.cshtml视图代码(部分)
@using QunZhongLuXian.Models
@model QunZhongLuXian.Controllers.viewModel//引用ZhuYeControllers中自定义的viewModel类类型
中间省略,下面是通过Foreach循环显示两个Model的列表数据(分别是Model.ldjhModel和Model.gzdtModel)
<div class="box">
<h1>
<span><a href="@Url.Action("Index", "LingDaoJiangHua")">more</a></span>领导讲话
</h1>
<ul>
@foreach (var item in Model.ldjhModel)
{
<li>
<span class="datetime">@item.ShiJian</span>
<a href="@item.LuJing">@item.BiaoTi</a>
</li>
}
</ul>
</div>
<div class="box">
<h1>
<span><a href="@Url.Action("Index", "GongZuoDongTai")">more</a></span>工作动态
</h1>
<ul>
@foreach (var item in Model.gzdtModel)
{
<li>
<span class="datetime">@item.ShiJian</span>
<a href="@item.LuJing">@item.BiaoTi</a>
</li>
}
</ul>
</div>
把代码分享下,让和我一样的菜鸟可以节约一些时间
ZhuYecontrollers代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using QunZhongLuXian.Models;//项目名称,引用自定义的Model
namespace QunZhongLuXian.Controllers
{
public class viewModel
{
public List<ZuZhiJiGou> zzjgModel { get; set; }
public List<LingDaoJiangHua> ldjhModel { get; set; }
public List<GongZuoDongTai> gzdtModel { get; set; }
public List<WenJianTongZhi> wjtzModel { get; set; }
public List<XueXiJiaoLiu> xxjlModel { get; set; }
public viewModel(List<Models.ZuZhiJiGou> zzjgList, List<Models.LingDaoJiangHua> ldjhList, List<Models.GongZuoDongTai> gzdtList, List<Models.WenJianTongZhi> wjtjList, List<Models.XueXiJiaoLiu> xxjlList)
{
this.zzjgModel = zzjgList;
this.ldjhModel = ldjhList;
this.gzdtModel = gzdtList;
this.wjtzModel = wjtjList;
this.xxjlModel = xxjlList;
}
}
public class ZhuYeController : Controller
{
QunZhongLuXianContext db = new QunZhongLuXianContext();
public ActionResult Index()
{
var vm = new viewModel(db.ZuZhiJiGous.ToList(), db.LingDaoJiangHuas.ToList(), db.GongZuoDongTais.ToList(), db.WenJianTongZhis.ToList(), db.XueXiJiaoLius.ToList());
vm.zzjgModel = db.ZuZhiJiGous.ToList();
vm.ldjhModel = db.LingDaoJiangHuas.OrderByDescending(p => p.ShiJian).ToList();
vm.gzdtModel = db.GongZuoDongTais.OrderByDescending(p => p.ShiJian).ToList();
vm.wjtzModel = db.WenJianTongZhis.OrderByDescending(p => p.ShiJian).ToList();
vm.xxjlModel = db.XueXiJiaoLius.OrderByDescending(p => p.ShiJian).ToList();
return View(vm);
}
}
}
对应/Views/ZhuYe/Index.cshtml视图代码(部分)
@using QunZhongLuXian.Models
@model QunZhongLuXian.Controllers.viewModel//引用ZhuYeControllers中自定义的viewModel类类型
中间省略,下面是通过Foreach循环显示两个Model的列表数据(分别是Model.ldjhModel和Model.gzdtModel)
<div class="box">
<h1>
<span><a href="@Url.Action("Index", "LingDaoJiangHua")">more</a></span>领导讲话
</h1>
<ul>
@foreach (var item in Model.ldjhModel)
{
<li>
<span class="datetime">@item.ShiJian</span>
<a href="@item.LuJing">@item.BiaoTi</a>
</li>
}
</ul>
</div>
<div class="box">
<h1>
<span><a href="@Url.Action("Index", "GongZuoDongTai")">more</a></span>工作动态
</h1>
<ul>
@foreach (var item in Model.gzdtModel)
{
<li>
<span class="datetime">@item.ShiJian</span>
<a href="@item.LuJing">@item.BiaoTi</a>
</li>
}
</ul>
</div>
相关文章推荐
- MDK中One ELF Section per Function选项功能探究
- MySQL双机热备份方法
- left join,inner join区别
- 使用MyEclipse+TomCat搭建服务端开发环境
- JQuery autocomplete ajax 实现自动完成
- 转载 解决Android与服务器交互大容量数据问题
- PAT Basic 1033. 旧键盘打字(20)
- 【Android】下拉列表、拖动条、星级评分条与标签文本的触摸事件
- android自定义Switch样式
- leetCode(5):Sort List
- 常用的算法函数
- opencv中ptr的使用
- leetCode(5):Sort List 分类: leetCode 2015-06-17 09:45 170人阅读 评论(0) 收藏
- 遇到The connection to adb is down, and a severe error has occured
- HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.pages.index.index_jsp
- VB实现禁用任务管理器的方法
- j2se学习笔记-Enum枚举类型
- C#实现ListView选中项向上或向下移动的方法
- input框只能输入大于0的数字,当值为0或者“”时会变成1
- JS学习笔记(一):关于{}和[]的使用