2009-08-28 31 views
0

これは非常に単純な質問かもしれませんが、私はちょうど.netとC#実際にはついにOOのものに頭を下げてしまった。ASP.NET MVC 2つのテーブルからデータを1つのビューに表示するモデルを作成する方法

私はNerdDinnerアプリケーションを構築しました。私は現在、自分自身のプロジェクトでその上に構築しています。

nerdディナーのコンテキストでは、ディナーの詳細を表示するだけでなく、関連するすべてのRSVPを同じページに表示します。

URLは通常と同じにすることができ

ディナー/詳細/ 2

が、2が戻ってすべてのRSVPの関連とを持参し、同じページ上のリストにそれらを表示するために使用されます。

私はdinnerRepository.csファイルでこれをやろうとしましたが、ちょっと立ち往生してしまいました。

私は、同じページからさらにrsvpを追加できるようにしたいと思います(この例ではdosentの動作を理解していますが、tableBに複数の行を追加しようとしています。テーブルA)

2番目の部分を他の場所で尋ねる必要があると感じる場合は、最初の質問に答えてください。

ありがとうございました。

答えて

1

dinnerRepository.csファイルをまったく変更する必要はありません。ディナーモデルにはすでにRSVPコレクションがあります。詳細ビューは次のように変更する必要があります。

<p> 
    <% foreach(NerdDinner.Models.RSVP rsvp in this.Model.RSVPs) 
     { %> 
     <%= Html.Encode(rsvp.AttendeeName) %> 
     <br /> 
     <%} %> 
    </p> 

完了しました。

+0

それをとてもきれいにしてくれてありがとう、完璧! –

0

IIRCの場合、詳細ビューにはDinnerのインスタンスが渡されます。詳細ページでそのディナーのRSVPをレンダリングするだけです。

+0

私はモデルに何もする必要はないと言っています、それはすでにそこにあるはずですか? –

0

私はRenderActionをこのようなものに使うのが好きです。 RenderActionを使用すると、特定のサブコントローラメソッドを対象にしてページ内のサブビューをレンダリングできます。これはモジュラー技術であるため、変更せずに複数のページで使用できます。

RenderActionは先物組立の一部です:Microsoft.Web.Mvc

関連する問題