2011-12-06 109 views
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。

有人可以向我解釋這是如何工作的?

回答

0

我的猜測是你遇到了模型綁定的副作用。 Products類是否擁有Category類的屬性?

+0

產品類別只有類別ID –