私はMVCを使用して、獣医クリニックで使用するための基本的なアプリケーションを構築しています。アプリケーションには、スタッフがペットの予約履歴を確認したり、予約を追加したりできる画面があります。
履歴部分は配線されており、正常に機能します。以前のすべての予定のリストが表示され、各予定に移動して詳細を確認できます。
問題は、新しい予定を追加することです。ペットコントローラーの編集ビューには、次のアクションリンクがあります。
@Html.ActionLink("Add Appointment", "Create", "Appointment", new { id = Model.Id }, null)
このActionLinkは、ペットのIDを現在のモデルからAppointmentコントローラーのCreateアクションに渡します。それがdbがペットと予定を接続する方法であるため、ペットIDが必要です。
AppointmentコントローラーのCreateビューで使用されるビューモデルには、PetプロパティとAppointmentプロパティがあります。
ビューモデルのプロパティを設定するにはどうすればよいですか?アポイントメントは、アポイントメントコントローラーの[作成]ビューで作成されますが、[作成]画面にさまざまなペットのプロパティ(名前、年齢、種など)を表示する必要があります。これらは、ビューモデルのPetプロパティにあります。ActionLinkに渡されたIDからビューモデルのハイドレイテッドペットオブジェクトに移動するにはどうすればよいですか?必要なすべてのPetプロパティは、Petコントローラーの編集ビューに使用されるモデルにあるため、データベースに再度アクセスする必要はないと思います。
ありがとう!
MVC 4 RC