1

ウィザードスタイルでasp.netのフォームをデザインしたい。[次へ]をクリックして何かを行います。

フォームには3つのステップがあります

  1. あなたの情報を記入してください

  2. 要素を追加します[ここで間違った入力をした場合は、次の手順に進む前に編集または削除できます]

  3. 終了

ajaxのパワーを備えたASP.NETMVCでこれを設計するためのベストプラクティスは何ですか。

誰かがMVCでこれを行うために使用できる最善の方法を教えてくれますか

4

4 に答える 4

2

続行する方法は次のとおりです。ウィザードの各ステップの要素を個別のdivに入れることができます。[次へ]ボタンと[前へ]ボタンは、対応するdivを表示/非表示にします。最後のステップには、フォーム全体をサーバーに送信する送信ボタンがあります。

jqueryフォームウィザードプラグインもご覧ください。

于 2011-01-15T10:58:34.963 に答える
1

私がウィザードを実装した方法の 1 つは、保存する必要があるすべての情報を含む別のデータベース テーブルを用意し、ウィザードの各ステップでそのテーブルにデータを保存/取得することです。ウィザードの目的 これは、データベース コールの数では適切ではないかもしれませんが、各ページに最大 5 ~ 10 のフィールドを持つ 5 ページのウィザードのみを実装していました。そのため、ページに移動すると、データベースにクエリを実行してデータベースから情報を取得するか、情報が存在しない場合は空白のページをロードして、ユーザーが情報を入力できるようにし、[次へ] または [前へ] をクリックすると保存されます。

ページ間を移動するために、ページ名とボタンの種類 (次へ/前へ) を受け入れるヘルパー クラスを作成し、移動先のページを返す単純な switch ステートメントを作成し、それを RedirectToAction ステートメントで使用しました。繰り返しますが、これは大規模なアプリケーションには適していない可能性がありますが、ウィザードの作成に使用できることがわかっているため、 Windows ワークフロー (この記事http://www.devx.com/dotnet/Article/29992で触れています) を使用することも検討できます。スタイル アプリケーション。

于 2011-01-15T13:02:56.227 に答える
0

これは特にMVCソリューションではありませんが、JQueryLightBoxを使用したクライアント側の実装をお勧めします。

于 2011-01-15T11:02:37.257 に答える
0

これを実現するためにクライアント側のものは必要ありません。ユーザーの利便性以外の目的で JavaScript を使用することもお勧めできません。

ウィザードには 2 つの問題があります。

1: 状態を維持します。つまり、リクエスト間でデータを保存します。

2: どのアクション (通常は次または前) を実行するかを決定します。

状態維持。

セッション オブジェクトを使用することはできますが、理想的には (そしてユニット テストを実行できるように) すべてのアクションを純粋な関数にする必要があります。非表示の入力を使用して、リクエスト間のデータを保存します。

ユーザー アクション。

次/前のビュー用。フォームに 2 つの送信ボタンを追加し、名前を付けます。フォームを POST すると、null 値がないボタンが押されたボタンでした。次に、適切なアクションにリダイレクトします。

于 2011-01-15T12:40:08.763 に答える