Как передать один столбец данных в виде списка с помощью viewbag в строго типизированное представление
Кто-нибудь может указать мне правильное направление относительно того, как передать один столбец данных в списке, используя viewbag в строго типизированное представление. Я передаю список CustomerSites, используя строго типизированное представление. Я также хотел бы отображать CustomerName рядом с каждым CustomerSite в списке.
Я пробовал следующий подход, но поскольку контроллер возвращает список клиентов, он не позволяет мне получить доступ к свойству CustomerName из представления, возможно ли получить доступ к этому свойству из представления?
public ViewResult Index()
{
var q = from a in db.Customers.ToList()
select a;
ViewBag.customer = q;
return View(db.CustomerSites.ToList());
}
@model IEnumerable<trsDatabase.Models.CustomerSite>
@foreach (var customer in Model)
{
<tr>
<td>
@ViewBag.customer.CustomerName
</td>
<td>
@customer.UnitNo
</td>
<td>
@Truncate(customer.StreetName, 25)
</td>
<td>
@customer.Town
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=customer.Id }) |
@Html.ActionLink("Details", "Details", new { id=customer.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=customer.Id })
</td>
</tr>
}
2 ответа
Я бы посоветовал вам перейти к View ViewModel, созданному из CustomerSites и CustomerNames. Почему вы не получаете от объекта БД, который состоит из имени клиента и сайта?
Мне кажется, что ViewBag.customer
содержит коллекцию Customers
ни одного Customer
объект. В вашем запросе вы должны иметь where
часть.