Asp.net mvc 2 asp.net mvc中缺少GetEnumerator的公共定义?
我应该手动创建GetEnumerator的定义吗?似乎它应该知道 我得到以下错误: foreach语句不能在上操作 类型的变量 'MVCAPP Northwind.Models.Product' 因为 “MvcAppNorthwind.Models.Product”是 不包含对的公共定义 “GetEnumerator” 在我看来,我更改了声明,如下所示:Asp.net mvc 2 asp.net mvc中缺少GetEnumerator的公共定义?,asp.net-mvc-2,Asp.net Mvc 2,我应该手动创建GetEnumerator的定义吗?似乎它应该知道 我得到以下错误: foreach语句不能在上操作 类型的变量 'MVCAPP Northwind.Models.Product' 因为 “MvcAppNorthwind.Models.Product”是 不包含对的公共定义 “GetEnumerator” 在我看来,我更改了声明,如下所示: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" I
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcAppNorthwind.Models.Product>>" %>
但是如果要在同一视图中显示或使用来自多个模型的数据?那你怎么做呢?将“产品”的类型从var更改为IEnumerable,并确保你的演员阵容反映了相同的情况
在回答上一个问题时,您可以将对象指定给ViewData中的字典项,或者更好的做法是创建一个包含视图所需所有数据的视图模型。这样,您就可以通过拥有一个特定于您的视图的模型来更好地分离关注点
NorthwindDataContext db = new NorthwindDataContext();
ViewData["Message"] = "Welcome to ASP.NET MVC!";
var products = from p in db.Products
select p;
return View(products);
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcAppNorthwind.Models.Product>>" %>