2011-01-03 9 views
0

いくつかのイベントを表す特定のモデルを持つWebアプリケーションを構築しています。ユーザーはN個の人を特定のイベントに追加できる必要があります。人々の選択は、部分的な視点で扱われます。ASP.NET MVC 2で複数のリクエストにモデルを永続化する方法

ユーザーがイベントに「人を追加」をクリックしたときに表示されるメニューを作成しようとしています。このイベントはまだ完全には記入されていないため、データベースには要求間で何も保持するものはありません。

また、イベントページに検証ロジックがあります。

私の提案する解決策は、イベントフォーム自体に人を検索したり追加したりするためのフォームを追加し、サーバーに追加された値を送信してViewDataまたはSessionに保存できる送信ボタンを持つことです。

残念ながら、これを行うと検証にフラグが立てられます。

私の2番目の解決方法は、人を追加/検索するためのUIの読み込みを担当する部分的なビューを読み込むことです。私は、セッション変数またはビューデータに既存のデータを格納する部分ビューを返すコントローラのメソッドに少しのコードを追加することができます。問題は、私はそれを行うためにフォームを提出する必要があります - 再度検証をトリップ!

私はおそらく、これを行うために間違ったツールを選んだのでしょうか... Webフォームではおそらくポストバックがあり、そのポストバックに対して操作を実行するだけなのでしょうか。私はwebformsでアプリケーションを書き直すのを避けたいと思いますし、ASP.NET MVCで見落としている方法があるのだろうかと思っています。

アイデアを事前におねがいします!

答えて

1

私はおそらく、部分的なビューをメインページ(javascript付き)に送信することになります。そうすれば、サーバーへのポストは1つしかなく、ユーザーが入力する必要があるすべてのデータが記入されます。部分ビューをどのように表示していますか?メインページ(div内)にあるのですか、別のポップアップウィンドウですか?いずれにしても、JavaScriptを使用してこのデータをメインページに保存し、すべてのデータを一度に送信することができます。

HTH

+0

それはdiv要素で起動します... – rsteckly

+0

うん、私はメインページで、サーバーにポストバックされます隠しフィールドにその値を格納します。 –

+0

モデルにバインドしているときは、どうしますか? – rsteckly

関連する問題