У меня есть модель основного вида со следующими двумя списками из двух разных таблиц БД,
public IEnumerable <Customer> SomeCustomer { get; set; }
public IEnumerable <CustomerSite> CustomerSites { get; set; }
В моем контроллере у меня есть
public ViewResult Index()
{
masterViewModel sitesModel = new masterViewModel();
return View(sitesModel);
}
Тогда, на мой взгляд, я пишу
@model IEnumerable<trsDatabase.Models.masterViewModel>
Если я пытаюсь получить доступ к модели, используя для каждого оператора
@foreach (var customer in Model)
Когда я набираю @customer. Это позволит мне получить доступ только к двум спискам, а не к отдельным свойствам в списке.
Я думал, что смог бы сделать это, например,
@customer.CustomerSites.UnitNo
Но самое дальнее, что я могу сделать, это
@customer.CustomerSites
И это, очевидно, не позволит мне получить доступ к отдельным свойствам в списках
У кого-нибудь есть идеи о том, что я здесь делаю неправильно? Нужно ли определять свойства из viewmodel в контроллере? (Думаю нет)
Обновление
У меня есть следующий код в моей модели просмотра,
namespace trsDatabase.Models
{
public class masterViewModel
{
public IEnumerable <Customer> Customers { get; set; }
public IEnumerable <CustomerSite> CustomerSites { get; set; }
}
}
Тогда следующее в контроллере,
public ViewResult Index()
{
masterViewModel sitesModel = new masterViewModel();
return View(sitesModel);
}
Затем я изменил свое представление представления на
@model trsDatabase.Models.masterViewModel
Это позволяет мне получить полный доступ к свойствам из представления, но выдает ошибку с циклом foreach, поскольку его нельзя использовать, когда представление наследует модель, а не список Ienumerable, нужно ли мне изменять синтаксис для отображения списка в представлении и использования чего-то другого, кроме foreachloop?