如何在同一视图中显示来自多个模型的数据?

问题描述:

我从我的视图显示数据库中的产品型号,但如果我也想 还等展示类。怎么做?如何在同一视图中显示来自多个模型的数据?

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcAppNorthwind.Models.Product>>" %> 

但是,如果你想显示或几款车型在同一视图中使用的数据?那你怎么做?

创建一个新类(称为ViewModel对象),其目的是为您的视图提供所需的数据,而不关心数据库结构。如果你担心不得不从一个对象的属性复制到另一个考虑Automapper

+0

是不是会变得一团糟? – marko 2010-07-31 14:07:01

+0

我觉得太之前我试了一下,然后用Automapper消除乏味。你会发现,你通常要检查/填充数据库/模型对象之前验证您的UI传回的值,也可能需要您的视图模型对象提供集合属性是你dropdownlists的来源,无论是当您使用ViewModel对象时,活动很干净。在大多数情况下,Automapper通过将复制操作减少到单行来保持行为定义的干净。 – Tahbaza 2010-07-31 14:15:16

+0

+1,Automapper真棒。 – Necros 2010-07-31 15:47:32