MultiView が適しているシナリオにはどのようなものがありますか? マルチビュー コントロールとそのビュー コントロールは、単にパネルの概念を拡張しているように見えます。
パネルとマルチビューはどちらも悪用されやすいようです。UI の問題とビジネス ロジックの問題が適切に分離されている場合、ビューを 1 つの ASPX にまとめる必要はありません。
ウィザード コントロールのより柔軟な基盤として MultiViews を使用しました。
多くのビューをひとまとめにするのはコードのにおいがすることに同意します。ウィザードの場合、プロセス全体で共有したい状態の断片がたくさんあることがよくあります。マルチビューを使用すると、この状態を単純にビューステートに格納できます。
ほとんどの場合、各ビューのコンテンツを、その特定のステップに関連するロジックをカプセル化できる単一のユーザー コントロールにします。
単純な Ajax 対応のタブ インターフェイスを実装するために、渡されたものでそれを使用しました。
タブのように見えるようにボタンのスタイルを設定し、その onClick イベントを設定して、更新パネルでアクティブなビューを切り替えます。
1 つまたは複数のパネルの表示を切り替える状況は、MultiView コントロールの最有力候補です。よりテンプレート化されたウィザード コントロール、またはマスター/詳細フォームなど。
それらが悪用される可能性があることに同意します。コードを使用する前に、コードを別々のページに分割した方がよいかどうかを評価する必要があります。私は、前の開発者が MultiViews を使用して 1 つのページに多くのことを入れようとしたプロジェクトに取り組んできました。
MultiViews で注意すべきことの 1 つは、パネルとは異なり、それらが含まれているビューがアクティブ/表示されていない場合でも、パネル内に含まれる宣言型データソース コントロールは常にバインドされることです。
実際のフォームを表示する 1 つのビューと、「ありがとう」のテキストを含む別のビューを表示するオンライン フォームなどに役立ちます。
ある条件に基づいてページに異なるコンテンツを表示したいとき。職場では、MultiView だけを使用するタブ コントロールと、タブのように見える別の単純なコントロールを作成しました。各タブは、アクティブなビューを正しいタブに設定するために配線されている他のコントロールにリンク (スタイル設定されています) を配置します。