【发布时间】:2011-05-06 13:05:37
【问题描述】:
谁能指出我正确的方向,如何使用 viewbag 将列表中的一列数据传递给强类型视图。我正在使用强类型视图传递 CustomerSites 列表。我还想在列表中的每个 CustomerSite 旁边显示一个 CustomerName。
我尝试了以下方法,但是由于控制器正在返回客户列表,它不允许我从视图中访问 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>
}
【问题讨论】:
-
为什么同一个问题你问了两次,而第一次得到了正确答案? stackoverflow.com/questions/5910767/…
-
@DanielB 因为虽然答案是正确的,但它没有提供问题的答案,我仍然无法解决问题
-
看我的回答。您必须通过指定 where 子句来选择您想要的单个客户。您想展示哪个客户?一个具体的?所以你必须选择一个。
-
@DanielB 我想显示列表中包含的每个客户地址的所有客户名称,所以我有一个从一个数据库表在视图中生成的客户站点列表,然后我想要一个另一个数据库表中每个站点的对应名称列表,因此实际上是两个列表。
-
@DanielB 实际上是由两个数据库对象组成的一个列表。
标签: asp.net-mvc view viewbag