MVC View - как отобразить «категорию» объектов коллекции, а не только сами объекты - PullRequest
0 голосов
/ 22 мая 2009

Использование ASP MVC и Entity Framework. В представлении у вас есть объявление страницы, которое определяет модель для этого представления, которая будет коллекцией, реализующей IEnumerable. Допустим, в коллекции хранятся объекты автомобилей, принадлежащие только Ford (категория «Форд»).

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

Этот список только автомобилей Ford был создан с помощью запроса LINQ to Entities. Объект EF thingee знает об отношениях Автомобилей с Производителями (которые я называю категорией)

            var dat = ent.CarSet.Where(m => m.Manufacturer.Name == nm);

        List<Car> cars = dat.ToList<Car>();
        return View("ListingByManufacturer", cars);

Итак, в представлении я отображаю список автомобилей, принадлежащих Ford. У меня есть представление, отображающее все свойства автомобилей правильно, но нет способа показать, к какой категории (производитель в этом примере) относятся автомобили из . Я видел несколько примеров EF / MVC, в которых есть два цикла foreach, а в верхнем изображен производитель - но это кажется клугем.

Похоже, все должно быть просто, но я застрял ...

1 Ответ

2 голосов
/ 22 мая 2009

Вы можете просто передать имя производителя через ViewData в контроллере:

ViewData["Manufacturer"] = nm;

Или используйте в качестве модели другой объект, который содержит как автомобили, так и название производителя

public class CategoryViewModel {
     public string ManufacturerName { get; set; }
     public List<Car> Cars { get; set; }
}

И передать экземпляр этого класса в представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...