ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

ASP.NET MVC 2 - My MVC Applicationの実装ポイント(4)

今回は登録機能を実装します。
試飲会への参加申込をする画面です。
f:id:UnderSourceCode:20130504111211j:plain

申込ボタンを押すと、データベースに入力値を登録します。

以下、実装のポイントです。

URLパラメータの引渡しと受け取り
今回作成する参加申込画面は、試飲会詳細画面から遷移します。
この際、どの試飲会への参加申込なのかを示す試飲会ID、試飲会名を
URLパラメータとして受け取ります。

1.呼び出し元となる試飲会詳細画面
f:id:UnderSourceCode:20130504111222j:plain
この画面の下にある「こちら」のリンクをクリックすると
参加申込画面に遷移します。

2.試飲会詳細画面 「こちら」リンクのソース
f:id:UnderSourceCode:20130504111235j:plain
33、34行目で、「Create」actionを呼び出しています。
この時、URLパラメータに試飲会ID(PartyId)、試飲会名(PartyName)を
Modelオブジェクトより動的に取得して設定しています。

3.「Create」action
f:id:UnderSourceCode:20130504111253j:plain
試飲会詳細画面から呼び出された、「Create」actionをデバッグしています。
下のウォッチ式を見ると、試飲会詳細画面よりURLパラメータ渡しした値が
「Create」actionの引数(PartyId, PartyName)として渡って来ていることが分かります。

Modelの保持する項目は画面の表示項目と合わせる

1.Modelのソース
f:id:UnderSourceCode:20130504111304j:plain
参加申込画面から入力もせず、データベースに登録もしない試飲会名を
「PartyName」として保持しています。
これは次の画面で表示するためです。

◆申込完了画面
f:id:UnderSourceCode:20130504111316j:plain
一番上の試飲会名の欄に、Modelより取得した「PartyName」を表示しています。
このソースをみると・・・

◆「申込」ボタンを押したときの「Create」action
f:id:UnderSourceCode:20130504111332j:plain
参加申込画面の表示で使ったModelを、47行目で引数として取得します。
この時点で、画面で表示した試飲会名がModelの「PartyName」に保存されています。
そのModelを、57行名で「Complete」actionに引き渡しています。

◆「Complete」aspx
f:id:UnderSourceCode:20130504111342j:plain
「Complete」actionを呼び出すと表示されるviewです。
14行目でModelより「PartyName」を取得して表示しています。