使用两个或更多模型创建视图 [英] Create a view Using Two or More Models

查看:104
本文介绍了使用两个或更多模型创建视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

早上好所有程序员。我是Asp.net MVC4的新手。我的问题是如何在单个视图中添加两个模型,如

Good Morning To All Programmers.I'm New to Asp.net MVC4.My question is how can i add two models in single view like

@model IEnumerable<musictrailMVC4.Models.Music>







@model IEnumerable<musictrailMVC4.Models.News>





我正在使用脚手架模板。当我这样做时显示错误。



感谢阅读问题,任何建议都会被衷心接受。



Im using Scaffold Template.When I'm doing this it shows an error.

Thanks For reading question,Any suggestions are heartly accepted.

推荐答案

您可以为您的视图创建另一个包含两个类的模型



例如

课程是

You can create another model for your view which contains both of your classes

e.g.
Classes are
public class Music
    {
        public int musicID { get; set; }
        public string musicTitle { get; set; }
    }

    public class News
    {
        public int newsId{get;set}
        public string newsTitle {get; set;}
    }





然后创建视图模型



Then create model for view

public class MusicNewsViewModel
{
    public List<music> MusicList{ get; set; }
    public List<news> NewsList{ get; set; }
}
</news></music>





并在您的控制器中



And in your controller

public ActionResult Index()
{
    var model = new MusicNewsViewModel();
    model.News = // ... fetch Your News
    model.Music = // ... fetch Your Music

    return View(model);
}







在您的视图中




And in your view

@model MusicNewsViewModel

@foreach (var music Model.Music)
{
    @Html.DisplayFor(m => music.musicId)
    @Html.DisplayFor(m => music.musicTitle)
}

@foreach (var news Model.News)
{
    @Html.DisplayFor(m => news.UserId)
    @Html.DisplayFor(m => news.UserName)
}


这篇关于使用两个或更多模型创建视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆