1
我正在使用现有数据库的ado.net实体模型。 我使用两个表格产品和类别。asp.net mvc viewdata显示类别名称
我有一个产品控制器:
public ActionResult Products()
{
using (var db = new StoreMvcEntities())
{
ViewData["categories"] = db.Categories.ToList();
return View(db.Products.ToList());
}
}
和视图:
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.ProductName)
</td>
<td>
@Html.DisplayFor(modelItem => item.category.categoryname)
</td>
<td>
@Html.DisplayFor(modelItem => item.price)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
@Html.ActionLink("Details", "Details", new { id=item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.Id })
</td>
</tr>
}
这里的问题是:在控制器中,如果删除ViewData["categories"] = db.Categories.ToList();
产品类别名称是空的视图。我没有在视图中使用ViewData["categories"]
,并且要获取产品类别名称,我必须调用 db.Categories
并将结果影响到任何viewdata。
有人可以向我解释这是如何工作的?
产品类别只有类别ID –