一个View显示多个Model

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>

时间: 2024-12-17 06:45:44

一个View显示多个Model的相关文章

ViewModel在MVC3中的应用:一个view显示多个model

在mvc3中,默认是一张数据表对应一个model,一个视图 view只显示一个model. 但是有些时候,我们一个视图上可能需要显示多个model的内容,即一个网页可能要展示多张表的信息,那怎么办呢,这时候,ViewModel就能派上用途了. ViewModel,顾名思义,专为view服务的model,专门为view视图准备的model. 我这里假设有两个张数据表,Article表和Information表,都需要在首页上显示出来,看看下面的步骤: 一.先写出两张表各自对应的model和相应的D

mvc 一个View显示多个Model

今天做到这个,记录一下. 解决的办法是.定义一个class:viewModel.把要显示的model放进去. Controller: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcService.Models; namespace MvcService.Controllers { public class vie

iOS判断一个View是否显示在屏幕上

有时候做UI的时候,比如需要判断scrollView中一个btn是否显示在屏幕上,可以用以下代码: #pragma mark - 返回一个View所在的位置x,y,是否在rect坐标里面 - (BOOL)isInScreenView:(UIView *)inView withRect:(CGRect)rect{ return CGRectIntersectsRect(inView.frame, rect); } #pragma mark - 返回判断screenRect所在的位置x,y,是否在r

自定义进阶2——自定义View显示超大图片

上一节(自定义初学5--自定义View显示图片)已经说了如何自定义View显示图片.做android时,加载图片是避免不了的,加载网络图片还需要异步加载,最烦人的就是经常出现OOM,为了避免这样的问题,我们一般这样解决: 根据图片控件的大小对图片进行压缩显示. 如果图片数量非常多,则会使用LruCache等缓存机制,将所有图片占据的内容维持在一个范围内. 有时加载图片还会遇到特殊情况--就是单个图片非常巨大,还不允许压缩.那么对于这种需求,该如何做呢? 首先不压缩,按照原图尺寸加载,那么屏幕肯定

iOS中一个页面显示两个tableview的情况

一个页面显示两个tableview,并且每个tableview上的数据都不一样,一般用以下方法: 首先建一个继承自UIView的类,来表示用来切换tableview的view //在view的类的.h文件中 #import <UIKit/UIKit.h> @protocol MyAttentionHeadViewDelegate <NSObject> //建一个叫MyAttentionHeadViewDelegate的一个代理 @optional //两个代理方法(可选择实现opt

iOS开发---UIButton 1 //创建一个可以显示图片的按钮。

1 //创建一个可以显示图片的按钮. 2 -(void)creatImageBtn{ 3 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 4 btn.frame = CGRectMake(100, 100, 100, 100); 5 UIImage *icon1 = [UIImage imageNamed:@"icon1.png"]; 6 UIImage *icon2 = [UIImage imageNamed

Android自定义view之view显示流程

自定义view之measure.layout.draw三大流程 一个view要显示出来,需要经过测量.布局和绘制这三个过程,本章就这三个流程详细探讨一下.View的三大流程具体分析起来比较复杂,本文不会从根源详细地分析,但是可以保证能达到实用的地步. 1. measure过程 1.1 理解MeasureSpec View的测量方法为public final void measure(int widthMeasureSpec, int heightMeasureSpec)和protected vo

AChartEngine使用View显示图表

学习过AChartEngine的人肯定都知道,使用ChartFactory创建一张图表可以使用Intent方法,之后调用StartActivity来启用这个Intent,但是这么左右一个坏处,就是当你需要动态显示一张图表的时候,他不停的启动Activity,这样的效率是非常低下的,因为每启动一次Activity就要创建一个线程,虽说之后Activity会被自动释放掉,但是,当你的图表使用在内存较低的手机上时,就很难避免图表颤抖.  而且这种方法还有一个很大的缺陷:一次只能显示一张图表,当需要显示

[IOS Tableview] cell自定义view显示错误问题

问题介绍:按照tableviewcell的tag自定义cell的view显示的时候,会出现拖动时显示错误情况. 我做的是一个下载界面,我为了简化问题,就把问题设定为,tag==1的cell已下载,加载时就把已下载的cell的label显示为蓝色.其余默认为黑. 比如我在代码里,想要tag==1的cell的label字体为蓝色,这样写就会出现上下拖动时tag==11的也出现蓝色(视具体情况而定). if([cell.tag==1){ //tag==1就把label显示为蓝色 cell.label.