2011-01-23 6 views
3

私はMVCをとても使い慣れているので、私の要求を正しく説明していない/正しい用語を使用していないと謝ります。ASP.NET MVC単一のビューから関連する複数のテーブルにレコードを追加する

私は項目詳細企業との単純なデータベースを持っています。彼らは1対多の関係を持っているので、Itemは多くの詳細を持っています。

私は両方のテーブルに単一のビューからレコードを追加したいと思います。

これまでのところ、私は 'item'の作成アクションを追加すると、HTTPPostリクエストで 'item'オブジェクトを取得することを理解しています。つまり、私は別のアクション/ビューを作成しなければならないということですか?

ここで使用する必要があるのは「部分表示」ですか?誰かが私に例を挙げてくれますか?心から感謝する。ありがとう。

答えて

2

あなたは強く型付けされたビューを使用して、アクションにそのタイプを自動的に移入し、いくつかのMVCの魔法を利用しているようですね。私はまだMVC3を使用していませんが、MVC2では、おそらくUpdateModelを使用してフォームコレクションからあなたの型を自動生成します。 MVCがあなたのためにいくつかの魔法をしているかどうかにかかわらず、あなたはいつもあなたのビューからあなたのコントローラに情報を送るでしょう(POSTまたはURL文字列でGETする) - あなたは常にURL文字列にアクセスするか、生の値

つまり、ビューのニーズに合ったモデルであるViewModelを作成するといいでしょう。あなたの場合は単なる複合モデルです。このViewModelは単純なクラスです。 と同じくらい簡単にこの新しいクラスのプロパティとしてそれぞれの型を公開する必要があります。あなたがそうするならば、あなたはクラス/プロパティの権利の前に接頭辞を付けることを忘れないでください: Model.Item.SomeProperty、Model.Detail.SomeOtherProperty もしそうでなければ、MVCはおそらくマップすることができません値が正しく戻ってきます。

コントローラに必要なデータが必要です。データベースに挿入するだけで済みます。

+0

は今や理にかなっています。ありがとう。 –

関連する問題