ウィザードスタイルでasp.netのフォームをデザインしたい。[次へ]をクリックして何かを行います。
フォームには3つのステップがあります
あなたの情報を記入してください
要素を追加します[ここで間違った入力をした場合は、次の手順に進む前に編集または削除できます]
終了
ajaxのパワーを備えたASP.NETMVCでこれを設計するためのベストプラクティスは何ですか。
誰かがMVCでこれを行うために使用できる最善の方法を教えてくれますか
ウィザードスタイルでasp.netのフォームをデザインしたい。[次へ]をクリックして何かを行います。
フォームには3つのステップがあります
あなたの情報を記入してください
要素を追加します[ここで間違った入力をした場合は、次の手順に進む前に編集または削除できます]
終了
ajaxのパワーを備えたASP.NETMVCでこれを設計するためのベストプラクティスは何ですか。
誰かがMVCでこれを行うために使用できる最善の方法を教えてくれますか
続行する方法は次のとおりです。ウィザードの各ステップの要素を個別のdivに入れることができます。[次へ]ボタンと[前へ]ボタンは、対応するdivを表示/非表示にします。最後のステップには、フォーム全体をサーバーに送信する送信ボタンがあります。
jqueryフォームウィザードプラグインもご覧ください。
私がウィザードを実装した方法の 1 つは、保存する必要があるすべての情報を含む別のデータベース テーブルを用意し、ウィザードの各ステップでそのテーブルにデータを保存/取得することです。ウィザードの目的 これは、データベース コールの数では適切ではないかもしれませんが、各ページに最大 5 ~ 10 のフィールドを持つ 5 ページのウィザードのみを実装していました。そのため、ページに移動すると、データベースにクエリを実行してデータベースから情報を取得するか、情報が存在しない場合は空白のページをロードして、ユーザーが情報を入力できるようにし、[次へ] または [前へ] をクリックすると保存されます。
ページ間を移動するために、ページ名とボタンの種類 (次へ/前へ) を受け入れるヘルパー クラスを作成し、移動先のページを返す単純な switch ステートメントを作成し、それを RedirectToAction ステートメントで使用しました。繰り返しますが、これは大規模なアプリケーションには適していない可能性がありますが、ウィザードの作成に使用できることがわかっているため、 Windows ワークフロー (この記事http://www.devx.com/dotnet/Article/29992で触れています) を使用することも検討できます。スタイル アプリケーション。
これは特にMVCソリューションではありませんが、JQueryLightBoxを使用したクライアント側の実装をお勧めします。
これを実現するためにクライアント側のものは必要ありません。ユーザーの利便性以外の目的で JavaScript を使用することもお勧めできません。
ウィザードには 2 つの問題があります。
1: 状態を維持します。つまり、リクエスト間でデータを保存します。
2: どのアクション (通常は次または前) を実行するかを決定します。
状態維持。
セッション オブジェクトを使用することはできますが、理想的には (そしてユニット テストを実行できるように) すべてのアクションを純粋な関数にする必要があります。非表示の入力を使用して、リクエスト間のデータを保存します。
ユーザー アクション。
次/前のビュー用。フォームに 2 つの送信ボタンを追加し、名前を付けます。フォームを POST すると、null 値がないボタンが押されたボタンでした。次に、適切なアクションにリダイレクトします。