Asp.net mvc 2 如何在同一视图中显示多个模型的数据?

Asp.net mvc 2 如何在同一视图中显示多个模型的数据?,asp.net-mvc-2,Asp.net Mvc 2,我有一个数据库中的产品模型,显示在视图上,但如果我也需要的话 显示类别等等。怎么做 <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcAppNorthwind.Models.Product>>" %> 但是如果要在同一视图中显示或使用来自多个模型的数据?那么您是如何做到的呢?

我有一个数据库中的产品模型,显示在视图上,但如果我也需要的话 显示类别等等。怎么做

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


但是如果要在同一视图中显示或使用来自多个模型的数据?那么您是如何做到的呢?

创建一个新类(称为ViewModel对象),该类的用途是提供视图所需的数据,而与数据库结构无关。如果您担心必须将属性从一个对象复制到另一个对象,请查看。

创建一个新类(称为ViewModel对象),该类的用途是提供视图所需的数据,而与数据库结构无关。如果您担心必须将属性从一个对象复制到另一个对象,请查看。

在尝试之前,我也这么认为,然后使用Automapper消除了繁琐的工作。您会发现,在填充数据库/模型对象之前,通常需要检查/验证从UI传回的值,还可能需要在ViewModel对象上提供集合属性作为DropDownList的源,这两个活动在使用ViewModel对象时都是干净的。在大多数情况下,Automapper会通过将复制操作减少到一行来保持操作定义中的整洁。我在尝试之前也这么认为,然后使用Automapper来消除繁琐。您会发现,在填充数据库/模型对象之前,通常需要检查/验证从UI传回的值,还可能需要在ViewModel对象上提供集合属性作为DropDownList的源,这两个活动在使用ViewModel对象时都是干净的。在大多数情况下,Automapper会将复制操作减少到一行,从而保持操作定义中的整洁。