我正在研究asp .net mvc3。我的数据库是SQL Server,我正在使用ado.net数据库访问机制。
这是我在控制器中的行动:
public ViewResult ProductIndex()
{
return View(db.Product.ToList());
}
这是我的ProductIndex.cshtml:
@model IEnumerable<CalcoWOMS.Models.Product>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.ProductCategoryID)
</td>
<td>
@Html.DisplayFor(modelItem => item.ProductUsageID)
</td>
<td>
@Html.DisplayFor(modelItem => item.ProductRangeID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Code)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
}
我的问题是我想在ProductIndex.cshtml的第一行中的“ProductCategory”表中显示“Description”字段的值,而不是ProductCategoryID字段。我该如何修改控制器和视图(.cshtml文件)?
这是我的产品表:
这是我想要访问代码的productCategory表
答案 0 :(得分:3)
你的模型有导航属性吗?
如果是这样,这应该有效(其中ProductCategory
是导航属性):
@Html.DisplayFor(modelItem => item.ProductCategory.Description)