asp.net-mvc - 具有多个对象的 MVC 3 索引页

标签 asp.net-mvc asp.net-mvc-3

我有一个 HomeController,在 Index 操作中我想处理多个对象,例如我将在主页中显示新闻、图片、投资组合。那么如何将多个对象传递给 View 。

public ActionResult Index()
{
            var news = newsRepository.GetAll();
            return View(news);
}

上面,我只能传递新闻对象来查看。但是正如您所知,在一个网站的主页中,会有不止一个对象。

在我只处理新闻时的 View 中,我可以从 Controller 传递“IEnumerable”。但是要在 View 中声明多个对象,我该怎么办?对不起,我是 MVC3 的初学者。在 WebForms 中,使用用户控件或 .NET 控件很容易,但在 MVC 中,它看起来很复杂。

谢谢

最佳答案

我为解决这个问题所做的是使用一个 View 模型,其属性包含您要传递给 View 的对象。

我为这些类创建了一个 ViewModel 文件夹。

public class IndexViewModel
{
    public PortfolioViewModel Portfolio {get; set;}
    public IEnumerable<PhotosViewModel> Photos {get; set;}
    public IEnumerable<NewsViewModel> News {get; set;}
    //...///
}

在你的 Controller 中。

public ActionResult Index()
{
    var model = new IndexViewModel();
    model.news = newsRepository.GetAll();
    return View(model);
}

关于asp.net-mvc - 具有多个对象的 MVC 3 索引页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526899/

相关文章:

c# - EntityType 'MyProfile' 没有定义键。为此 EntityType 定义键

c# - StructureMap Setter 注入(inject)未设置属性

c# - 如何在C#中将entitybase类型转换为实体类型

c# - MVC 显示目录列表未加载应用程序

jquery - ASP MVC 3 HTTP Post 通过 JQuery 不断返回 500。Url 和 Controller 匹配

asp.net-mvc-3 - 使用代码优先的 EF 4.1 中的 ComplexType 集合属性

asp.net-mvc - SQLite 与 ASP.NET MVC

jquery - 如何使用asp.net mvc5实现ajax登录?

asp.net-mvc - JavaScriptSerializer 期间 ASP.NET MVC 中的 MaxJsonLength 异常

c# - 通过 ActionFilter 检查 session 是否存在