2011-06-19 62 views
0

我正在處理asp.net.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」表,而不是ProductCategoryID字段。我應該如何修改控制器和視圖(.cshtml文件)?

這是我的產品表: enter image description here

這是我要訪問我的產品分類表的代碼 enter image description here

回答

3

做你的模型具有導航性能?

如果是這樣,這應該工作(其中ProductCategory是導航性能):

@Html.DisplayFor(modelItem => item.ProductCategory.Description)

+0

我很欣賞你的答案,它工作得非常好您的產品分類表上面一行,類似的方式,我想對於ProductRange表使用此行,但先生仍然有一個問題是,當我寫@ Html.DisplayFor(modelItem => item.ProductRange.Description)然後發生錯誤「CalcoWOMS.Models.Product不包含產品定義的定義」 。 –

相關問題