MultiView および View Web サーバー コントロールの概要

更新 : 2007 年 11 月

MultiView および View の 2 つの Web サーバー コントロールは、他のコントロールとマークアップのコンテナとして機能し、情報の代替ビューを簡単に表示できるようにします。

このトピックの内容は次のとおりです。

  • シナリオ

  • 背景

  • コード例

  • クラス リファレンス

シナリオ

MultiView コントロールと View コントロールを使用すると、次のようなタスクを実行できます。

  • ユーザーの選択やその他の条件に基づいたコントロールの代替セットを提供する。たとえば、それぞれが個別の View コントロールで設定されているフィードのリストから選択できるようにします。これにより、ユーザーの選択したフィードを含む View コントロールを表示できます。複数の Panel コントロールを作成する代わりに、MultiView コントロールと View コントロールを使用できます。

  • マルチページ形式を作成する。MultiView コントロールと View コントロールの動作は、Wizard コントロールに似ています。Wizard コントロールは、ユーザーが手順に従って入力する形式のフォームを作成する場合に最適です。Wizard コントロールは、ヘッダーやフッターなどの組み込み UI 要素、[戻る][次へ] ボタン、およびテンプレートもサポートしています。条件に応じて変化する (順次ではなく) 表示を作成する場合、または Wizard コントロールがサポートする補足的な機能を必要としない場合は、Wizard の代わりに MultiView を使用します。

ページのトップへ

背景

MultiView コントロールは、1 つ以上の View コントロールの外側のコンテナとして動作します。また、View コントロールは、マークアップとコントロールのあらゆる組み合わせを含むことができます。

MultiView コントロールは、一度に 1 つの View コントロールを表示して、その View コントロール内のマークアップとコントロールを公開します。MultiView コントロールの ActiveViewIndex プロパティを設定することによって、どの View コントロールを現在参照できるかを指定できます。

View コントロールのコンテンツの表示

View コントロールが選択されていない場合、これはページに表示されません。ただし、すべての View コントロール内のすべての Web サーバー コントロールのインスタンスは、ページが表示されるたびに作成され、それらの値はページのビューステートの一部として格納されます。

MultiView コントロールと個々の View コントロールのいずれも、現在の View コントロールのコンテンツ以外のページへのマークアップは表示しません。たとえば、コントロールが div 要素を表示する方法は、Panel コントロールが表示する方法とは異なります。現在の View コントロールに全体として適用できる外観プロパティもサポートされません。ただし、テーマを MultiView コントロールまたは View コントロールに割り当てることができます。これにより、現在の View コントロールのすべての子コントロールにテーマが適用されます。

コントロールの参照

View コントロールは、その View コントロール内のコントロールのコレクションを含む Controls プロパティをサポートします。また、View コントロール内のコントロールはコードで個別に参照できます。詳細については、「プログラムによる ASP.NET コントロールへのアクセス」を参照してください。

ビュー間の移動

MultiView コントロールの ActiveViewIndex プロパティを、表示する View コントロールのインデックス値に設定することによってビュー間を移動できます。また、MultiView コントロールは、各 View コントロールに追加できるナビゲーション ボタンもサポートしています。

ナビゲーション ボタンを作成するには、ボタン コントロール (ButtonLinkButton、または ImageButton) を各 View コントロールに追加します。次に、各ボタンの CommandName プロパティと CommandArgument プロパティを予約済みの値に設定して、MultiView コントロールを別のビューに移動させます。予約済みの CommandName 値とこれに対応する CommandArgument 値を次の表に示します。

CommandName 値

CommandArgument 値

NextView

(値なし)

PrevView

(値なし)

SwitchViewByID

切り替え先の View コントロールの ID。

SwitchViewByIndex

切り替え先の View コントロールのインデックス番号。

3 つの View コントロールを持つ MultiView コントロールのコード例を次に示します。各 View コントロールは、特定の View コントロールに移動する Button コントロールを含みます。

<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
  <asp:View ID="View1" runat="server">
    View 1<br />
    <br />
    <asp:Button ID="Button1" runat="server" 
      CommandArgument="View2" 
      CommandName="SwitchViewByID"
      Text="Go to View2" />
  </asp:View>
  <asp:View ID="View2" runat="server">
    View 2<br />
    <br />
    <asp:Button ID="Button2" runat="server" 
      CommandArgument="View3" 
      CommandName="SwitchViewByID"
      Text="Go to View 3" />
  </asp:View>
  <asp:View ID="View3" runat="server">
    View 3<br />
    <br />
    <asp:Button ID="Button3" runat="server" 
      CommandArgument="View1" 
      CommandName="SwitchViewByID"
      Text="Go to View 1" />
  </asp:View>
</asp:MultiView>

ページのトップへ

コード例

方法 : Web フォーム ページに MultiView Web サーバー コントロールを追加する (Visual Studio)

ページのトップへ

クラス リファレンス

MultiView コントロールおよび View コントロールに関連するクラスの一覧を次の表に示します。

メンバ

説明

MultiView

MultiView コントロールのメイン クラスです。

ViewCollection

MultiView コントロールが子コントロールの一覧を維持するためのコレクションを表します。

View

View コントロールのメイン クラスです。

MultiViewControlBuilder

パーサーと対話して、MultiView コントロールを構築します。MultiView 派生コントロールのカスタム コントロール ビルダを作成するには、このクラスから継承する必要があります。

ページのトップへ

参照

参照

Panel Web サーバー コントロールの概要

Wizard Web サーバー コントロールの概要