これは、ウィザードの複数ページのフォームです。各ページに入力した後、フォーム データを単純なプレーン テキストのポップアップ ビュー (div) でプレビューし、最終的にサーバーに送信する必要があります --> データベース。そうしないと、ユーザーがウィザードに戻ってフィールドを追加したり、再度プレビューして送信する前に、フォームのエントリを確認してください。ウィザード ページは非表示/表示される div であるため、プレビューして送信するまでサーバーとのやり取りは発生しません。
やっています:
@using (Ajax.BeginForm("myAction", "myController",
new AjaxOptions { UpdateTargetId = "splashFormAndPreview" }))
{
<input type="text" name="name" id="name"/>
<input type="text" name="address" id="address"/>
<input type="checkbox" name="airConditioned" id="airConditioned"/>
...
...
<input type="submit" value="Preview&Submit" id="previewSubmButon"/>
}
<div id="splashFormAndPreview"></div>
!!! 重要または役立つ場合: 「myAction」と「myController」は、上記のビューのものとは異なります。また、フォームは、splashFormAndPreview div でスプラッシュされた別のビューでプレビューされます。
上記のコードでは、ポップアップ プレビューを閉じてウィザードに戻って代替を行った後、ウィザードが応答しなくなり、データが失われます。
ユーザーがプレビューからフォームフィールドを変更するために戻った場合に備えて、ページ上のデータを保持/保持し、フォームを非同期に投稿するにはどうすればよいですか?