2011-06-19 4 views
0

私は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の1行目のProductCategoryIDフィールドではなく、「ProductCategory」テーブル。コントローラーとビュー(.cshtmlファイル)を変更するにはどうすればよいですか?

この私の製品テーブルです: enter image description here

これは私のproductCategoryテーブルである私は、コード enter image description here

答えて

3

にアクセスしたいから、あなたのモデルは、ナビゲーションプロパティを持っているのですか? (ProductCategoryは、ナビゲーションプロパティである)

もしそうなら、これは動作するはずです:私はあなたの答えに感謝

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

+0

が、それはProductCategory表のためのあなたの上の行のために非常にうまく機能している、同様の方法は、私がしたいですこの行をProductRangeテーブルに使用してください。しかし、問題がまだ残っているのは、@ Html.DisplayFor(modelItem => item.ProductRange.Description)を記述すると、「CalcoWOMS.Models.ProductにProductRangeの定義が含まれていません」というエラーが発生します。 。 –

関連する問題