0

現在、次のフィールドを持つ製品データベース テーブルがあります。

名前 カテゴリ (例: 製品タイプ) サブカテゴリ (例: パッケージ) 価格

たとえば、カテゴリ A には 3 種類のパッケージがあります。ビュー内の 3 つの異なるテーブルに表示したいと思います。3 つのテーブルを個別に取得できますが、テーブルには同じデータが表示されています。

誰かが私を助けてくれますか?

このコードは、パブリック ViewResult Index() コントローラー クラスにあります。var productsCornIndustrial = from cornIndustrial in db.Products where cornIndustrial.Category == "コーン油" & cornIndustrial.SubCategory == "Industrial" select cornIndustrial;

        return View(productsCornIndustrial.ToList());

        var productsCornFoodservice = from cornFoodservice in db.Products
                                      where cornFoodservice.Category == "Corn Oil" & cornFoodservice.SubCategory == "Foodservice"
                                      select cornFoodservice;

        return View(productsCornFoodservice.ToList());

        var productsCornRetail = from cornRetail in db.Products
                                 where cornRetail.Category == "Corn Oil" & cornRetail.SubCategory == "Retail"
                                 select cornRetail;

        return View(productsCornRetail.ToList());
4

1 に答える 1

0

ViewModels パターンについて読んでください。私は次のように書きます:

すべてのデータを保持する別の ViewModel クラスを作成します。

public class NewViewModel
{
  public List<Products> IndustrialList {get;set;}
  public List<Products> FoodList {get;set;}
  public List<Products> RetailList{get;set;}

  //ctor etc... get the data from DAL
}

....

コントローラーでこのクラスを使用して、厳密に型指定された ViewModel オブジェクトをビューに渡します。

public ActionResult Index(int? id)
{
  var items = new NewViewModel();
  return View(items);
}
于 2012-09-04T12:22:35.910 に答える