2017-07-19 7 views
0

私は現在、互いに独立した2つのモデルを用意していますが、作成した月に基づいて1つのビューでそれらを結合したいと考えています。2つのモデルによるビューの作成

class Distance{ 
    public int Id{get;set;} 
    public float DistanceRan { get; set;} 
    public DateTime DateTime {get; set;} 
} 

class Weight{ 
    public int Id{get;set;} 
    public float CurrentWeight{ get; set;} 
    public DateTime DateTime {get; set;} 
} 

私は月の日付のビューを作成することができるようにしたい:上でクリックしたときに、それぞれを持っているでしょうページに連れて行くであろうと、1-12その月に対応する重量/距離の記録。

私は私のようなモデルを作成すると仮定します:

class WeightDistance{ 
    public int Id{get;set;} 
    public List<Distance> Distance{ get; set;} 
    public List<Weight> Weight{get; set;} 
} 

毎月取得の背後にあるロジックは問題ではありません、問題がビューにそれらの両方を組み合わせています。これらを一緒に表示する方法を作成するにはどうすればいいですか?私は自分自身でコントローラを作成してデータを取得できますか?

Iそれがアナウンスモデルを持っていた前にプロジェクトを作成し、それは発表の詳細セクションにすべてのコメントを表示するであろうのModelViewがあったが、リンクはしたモデルを、コメントしている:

/お知らせ/ 3 /詳細

一方、私はそれになりたい、この月次ビュー:

/月/ 2/...

コントローラーが必要ですか?申し訳ありませんが、私はかなり新しく、特定のリソースを見つけることが難しいと感じています。その後、

class WeightDistance{ 
     public int Id{get;set;} 
     public List<Distance> Distance{ get; set;} 
     public List<Weight> Weight{get; set;} 
    } 

各モデルへ

+4

[ビュー内の複数のモデル]の可能な複製(https://stackoverflow.com/questions/4764011/multiple-models-in-a-view) – DavidG

+0

@DavidG私はそれを理解していますおそらく複写ですが、私が尋ねる理由は、日付=日付の各テーブルから行を引き出すために適切なC#コードが必要ではないということです。 –

+0

はい、いくつかのC#コードが必要になります。 – DavidG

答えて

0

アップロードデータは、そのモデルとビューを作成します。次に、 'Distance'と 'Weight'リストの2つの部分ビューを作成します。そして、これら2つのパーシャルフォームの親ビューを呼び出します。

@Html.Partial("NameOfPartial",Distance) 
@Html.Partial("NameOfPartial",Weight) 

あなたはリストがパーシャルを呼び出す投げる、混合HTMLとの二つのリストを使用するだけで、単一のオブジェクトのためのパーシャルを作成し、反復処理したい場合は

foreach(var item in Distance) 
{ 
    @Html.Partial("NameOfPartialForSingleObject",item) 
} 
foreach(var item in Weight) 
{ 
    @Html.Partial("NameOfPartialForSingleObject",item) 
} 

う私はデータを引き出すコントローラを自分で作成しますか?はい、もちろん。しかし、親ビューのみがコントローラロジックを必要とするでしょう

関連する問題