ASP.NET MVC 2 - My MVC Applicationの実装ポイント(4)
今回は登録機能を実装します。
試飲会への参加申込をする画面です。
申込ボタンを押すと、データベースに入力値を登録します。
以下、実装のポイントです。
◆URLパラメータの引渡しと受け取り
今回作成する参加申込画面は、試飲会詳細画面から遷移します。
この際、どの試飲会への参加申込なのかを示す試飲会ID、試飲会名を
URLパラメータとして受け取ります。
1.呼び出し元となる試飲会詳細画面
この画面の下にある「こちら」のリンクをクリックすると
参加申込画面に遷移します。
2.試飲会詳細画面 「こちら」リンクのソース
33、34行目で、「Create」actionを呼び出しています。
この時、URLパラメータに試飲会ID(PartyId)、試飲会名(PartyName)を
Modelオブジェクトより動的に取得して設定しています。
3.「Create」action
試飲会詳細画面から呼び出された、「Create」actionをデバッグしています。
下のウォッチ式を見ると、試飲会詳細画面よりURLパラメータ渡しした値が
「Create」actionの引数(PartyId, PartyName)として渡って来ていることが分かります。
◆Modelの保持する項目は画面の表示項目と合わせる
1.Modelのソース
参加申込画面から入力もせず、データベースに登録もしない試飲会名を
「PartyName」として保持しています。
これは次の画面で表示するためです。
◆申込完了画面
一番上の試飲会名の欄に、Modelより取得した「PartyName」を表示しています。
このソースをみると・・・
◆「申込」ボタンを押したときの「Create」action
参加申込画面の表示で使ったModelを、47行目で引数として取得します。
この時点で、画面で表示した試飲会名がModelの「PartyName」に保存されています。
そのModelを、57行名で「Complete」actionに引き渡しています。
◆「Complete」aspx
「Complete」actionを呼び出すと表示されるviewです。
14行目でModelより「PartyName」を取得して表示しています。