Должен ли я вручную создать определение для GetEnumerator? Похоже, он должен знать ...
Я получаю следующую ошибку:
оператор foreach не может работать с
переменные типа
'MvcAppNorthwind.Models.Product'
так как
«MvcAppNorthwind.Models.Product» делает
не содержат публичного определения
'GetEnumerator'
Line 9: <h2><%: ViewData["Message"] %></h2>
Line 10: <ul>
Line 11: <% foreach (MvcAppNorthwind.Models.Product p in ViewData.Model) { %>
Line 12: <li><%= p.ProductName %></li>
Line 13: <% } %>
В моем контроллере у меня есть этот код:
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>>" %>
Но если вы хотите отобразить или использовать данные из нескольких моделей в одном представлении? Как ты это делаешь тогда?