MultiView クラス
アセンブリ: System.Web (system.web.dll 内)


MultiView コントロールは、View コントロールのグループ用のコンテナです。これを使用して、View コントロールのグループを定義できます。この場合、各 View コントロールには子コントロールが含まれています。次にアプリケーションは、ユーザー ID、ユーザー設定、およびクエリ文字列のパラメータに渡された情報などの基準に基づいて、特定の View コントロールをクライアントに表示できます。MultiView コントロールを使用してウィザードを作成することもできます。この場合、MultiView コントロールに格納されている各 View コントロールが、ウィザードのさまざまな手順やページを表します。モバイル デバイス用に複数画面のアプリケーションを開発する場合も、このコントロールを使用します。このコントロールは、.NET Framework Version 1.1 の ASP.NET モバイル Form コントロールと同じ機能を備えています。
一度に 1 つの View コントロールだけを MultiView コントロール内のアクティブ ビューとして定義できます。View コントロールがアクティブ ビューとして定義されているときは、その子コントロールがクライアントに表示されます。ActiveViewIndex プロパティまたは SetActiveView メソッドを使用して、アクティブ ビューを定義できます。ActiveViewIndex プロパティが空の場合、MultiView コントロールの内容はクライアントに表示されません。MultiView コントロール内に存在しない View がアクティブ ビューとして設定されている場合は、実行時に ArgumentOutOfRangeException が発生します。
アクティブ ビューは、宣言によって定義することも、プログラムによって定義することもできます。MultiView コントロールを定義するときに、宣言によって ActiveViewIndex プロパティを設定すると、MultiView コントロールが初めて呼び出されたときに、アクティブ ビューとして設定されている View コントロールがクライアントに表示されます。ActiveViewIndex プロパティを宣言によって設定する方法のコード例を次に示します。
<asp:MultiView ActiveViewIndex=0 runat="Server">
ActiveViewIndex プロパティをプログラムによって設定するか、または SetActiveView メソッドを呼び出すことにより、アプリケーションはユーザー ID やユーザー設定などの基準に基づいて、実行時にクライアントに表示する View コントロールを決定できます。
MultiView コントロール内の View コントロール間をユーザーが移動できるようにするには、LinkButton コントロールまたは Button コントロールを各 View コントロールに追加します。MultiView コントロールに備わっている、現在アクティブな View の自動更新機能を利用するには、目的のナビゲーション動作に応じて、次のいずれかのコマンド名フィールドの値をボタンまたはリンク ボタンの CommandName プロパティに設定します。使用できるコマンド名フィールドは、PreviousViewCommandName、NextViewCommandName、SwitchViewByIDCommandName、または SwitchViewByIndexCommandName です。
Topic | Location |
---|---|
方法 : Web フォーム ページに MultiView Web サーバー コントロールを追加する | ASP .NET Web アプリケーションの作成 |
方法 : Web フォーム ページに MultiView Web サーバー コントロールを追加する (Visual Studio) | Visual Studio での ASP .NET Web アプリケーションの作成 |

MultiView コントロールを使用して基本調査を作成する方法のコード例を次に示します。各 View コントロールは、個別の調査質問です。ユーザーが任意のページの [戻る] ボタンをクリックすると、ActiveViewIndex プロパティの値が減分され、直前の View コントロールに移動します。ユーザーが任意のページの [次へ] ボタンをクリックすると、ActiveViewIndex プロパティの値が増分され、次の View コントロールに移動します。
![]() |
---|
次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「ASP.NET Web ページのコード モデル」を参照してください。 |
<%@ Page Language="VB" %> <html> <head> <script runat="server"> Sub NextButton_Command(sender As Object, e As System.EventArgs) ' Determine which button was clicked ' and set the ActiveViewIndex property to ' the view selected by the user. If (DevPollMultiView.ActiveViewIndex > -1) AND DevPollMultiView.ActiveViewIndex < 3 Then ' Increment the ActiveViewIndex property ' by one to advance to the next view. DevPollMultiView.ActiveViewIndex += 1 ElseIf DevPollMultiView.ActiveViewIndex = 3 Then ' This is the final view. ' The user wants to save the survey results. ' Insert code here to save survey results. ' Disable the navigation buttons. Page4Save.Enabled = False Page4Restart.Enabled = False Else Throw New Exception("An error occurred.") End If End Sub Sub BackButton_Command(ByVal sender As Object, ByVal e As System.EventArgs) If (DevPollMultiView.ActiveViewIndex > 0) And DevPollMultiView.ActiveViewIndex <= 2 Then ' Decrement the ActiveViewIndex property ' by one to return to the previous view. DevPollMultiView.ActiveViewIndex -= 1 ElseIf DevPollMultiView.ActiveViewIndex = 3 Then ' This is the final view. ' The user wants to restart the survey. ' Return to the first view. DevPollMultiView.ActiveViewIndex = 0 Else Throw New Exception("An error occurred.") End If End Sub </script> </head> <body> <form ID="Form1" runat="Server"> <h3>MultiView ActiveViewIndex Example</h3> <asp:Panel id="Page1ViewPanel" Width="330px" Height="150px" HorizontalAlign =Left Font-size="12" BackColor="#C0C0FF" BorderColor="#404040" BorderStyle="Double" runat="Server"> <asp:MultiView id="DevPollMultiView" ActiveViewIndex=0 runat="Server"> <asp:View id="Page1" runat="Server"> <asp:Label id="Page1Label" Font-bold="true" Text="What kind of applications do you develop?" runat="Server"> </asp:Label><br><br> <asp:RadioButton id="Page1Radio1" Text="Web Applications" Checked="False" GroupName="RadioGroup1" runat="server" > </asp:RadioButton><br> <asp:RadioButton id="Page1Radio2" Text="Windows Forms Applications" Checked="False" GroupName="RadioGroup1" runat="server" > </asp:RadioButton><br><br><br> <asp:Button id="Page1Next" Text = "Next" OnClick="NextButton_Command" Height="25" Width="70" runat= "Server"> </asp:Button> </asp:View> <asp:View id="Page2" runat="Server"> <asp:Label id="Page2Label" Font-bold="true" Text="How long have you been a developer?" runat="Server"> </asp:Label><br><br> <asp:RadioButton id="Page2Radio1" Text="Less than five years" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br> <asp:RadioButton id="Page2Radio2" Text="More than five years" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br><br><br> <asp:Button id="Page2Back" Text = "Previous" OnClick="BackButton_Command" Height="25" Width="70" runat= "Server"> </asp:Button> <asp:Button id="Page2Next" Text = "Next" OnClick="NextButton_Command" Height="25" Width="70" runat="Server"> </asp:Button> </asp:View> <asp:View id="Page3" runat="Server"> <asp:Label id="Page3Label1" Font-bold="true" Text= "What is your primary programming language?" runat="Server"> </asp:Label><br><br> <asp:RadioButton id="Page3Radio1" Text="Visual Basic .NET" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br> <asp:RadioButton id="Page3Radio2" Text="C#" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br> <asp:RadioButton id="Page3Radio3" Text="C++" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br><br> <asp:Button id="Page3Back" Text = "Previous" OnClick="BackButton_Command" Height="25" Width="70" runat="Server"> </asp:Button> <asp:Button id="Page3Next" Text = "Next" OnClick="NextButton_Command" Height="25" Width="70" runat="Server"> </asp:Button><br> </asp:View> <asp:View id="Page4" runat="Server"> <asp:Label id="Label1" Font-bold="true" Text = "Thank you for taking the survey." runat="Server"> </asp:Label> <br><br><br><br><br><br> <asp:Button id="Page4Save" Text = "Save Responses" OnClick="NextButton_Command" Height="25" Width="110" runat="Server"> </asp:Button> <asp:Button id="Page4Restart" Text = "Retake Survey" OnClick="BackButton_Command" Height="25" Width="110" runat= "Server"> </asp:Button> </asp:View> </asp:MultiView> </asp:Panel> </form> </body> </html>
<%@ Page Language="C#" %> <html> <head> <script runat="server"> protected void NextButton_Command(object sender, EventArgs e) { // Determine which button was clicked // and set the ActiveViewIndex property to // the view selected by the user. if (DevPollMultiView.ActiveViewIndex > -1 & DevPollMultiView.ActiveViewIndex < 3) { // Increment the ActiveViewIndex property // by one to advance to the next view. DevPollMultiView.ActiveViewIndex += 1; } else if (DevPollMultiView.ActiveViewIndex == 3) { // This is the final view. // The user wants to save the survey results. // Insert code here to save survey results. // Disable the navigation buttons. Page4Save.Enabled = false; Page4Restart.Enabled = false; } else { throw new Exception("An error occurred."); } } protected void BackButton_Command(object sender, EventArgs e) { if (DevPollMultiView.ActiveViewIndex > 0 & DevPollMultiView.ActiveViewIndex <= 2) { // Decrement the ActiveViewIndex property // by one to return to the previous view. DevPollMultiView.ActiveViewIndex -= 1; } else if (DevPollMultiView.ActiveViewIndex == 3) { // This is the final view. // The user wants to restart the survey. // Return to the first view. DevPollMultiView.ActiveViewIndex = 0; } else { throw new Exception("An error occurred."); } } </script> </head> <body> <form ID="Form1" runat="Server"> <h3>MultiView ActiveViewIndex Example</h3> <asp:Panel id="Page1ViewPanel" Width="330px" Height="150px" HorizontalAlign =Left Font-size="12" BackColor="#C0C0FF" BorderColor="#404040" BorderStyle="Double" runat="Server"> <asp:MultiView id="DevPollMultiView" ActiveViewIndex=0 runat="Server"> <asp:View id="Page1" runat="Server"> <asp:Label id="Page1Label" Font-bold="true" Text="What kind of applications do you develop?" runat="Server"> </asp:Label><br><br> <asp:RadioButton id="Page1Radio1" Text="Web Applications" Checked="False" GroupName="RadioGroup1" runat="server" > </asp:RadioButton><br> <asp:RadioButton id="Page1Radio2" Text="Windows Forms Applications" Checked="False" GroupName="RadioGroup1" runat="server" > </asp:RadioButton><br><br><br> <asp:Button id="Page1Next" Text = "Next" OnClick="NextButton_Command" Height="25" Width="70" runat= "Server"> </asp:Button> </asp:View> <asp:View id="Page2" runat="Server"> <asp:Label id="Page2Label" Font-bold="true" Text="How long have you been a developer?" runat="Server"> </asp:Label><br><br> <asp:RadioButton id="Page2Radio1" Text="Less than five years" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br> <asp:RadioButton id="Page2Radio2" Text="More than five years" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br><br><br> <asp:Button id="Page2Back" Text = "Previous" OnClick="BackButton_Command" Height="25" Width="70" runat= "Server"> </asp:Button> <asp:Button id="Page2Next" Text = "Next" OnClick="NextButton_Command" Height="25" Width="70" runat="Server"> </asp:Button> </asp:View> <asp:View id="Page3" runat="Server"> <asp:Label id="Page3Label1" Font-bold="true" Text= "What is your primary programming language?" runat="Server"> </asp:Label><br><br> <asp:RadioButton id="Page3Radio1" Text="Visual Basic .NET" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br> <asp:RadioButton id="Page3Radio2" Text="C#" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br> <asp:RadioButton id="Page3Radio3" Text="C++" Checked="False" GroupName="RadioGroup1" runat="Server"> </asp:RadioButton><br><br> <asp:Button id="Page3Back" Text = "Previous" OnClick="BackButton_Command" Height="25" Width="70" runat="Server"> </asp:Button> <asp:Button id="Page3Next" Text = "Next" OnClick="NextButton_Command" Height="25" Width="70" runat="Server"> </asp:Button><br> </asp:View> <asp:View id="Page4" runat="Server"> <asp:Label id="Label1" Font-bold="true" Text = "Thank you for taking the survey." runat="Server"> </asp:Label> <br><br><br><br><br><br> <asp:Button id="Page4Save" Text = "Save Responses" OnClick="NextButton_Command" Height="25" Width="110" runat="Server"> </asp:Button> <asp:Button id="Page4Restart" Text = "Retake Survey" OnClick="BackButton_Command" Height="25" Width="110" runat= "Server"> </asp:Button> </asp:View> </asp:MultiView> </asp:Panel> </form> </body> </html>
3 つの View コントロールを格納している、基本の MultiView コントロールを作成する方法のコード例を次に示します。ユーザーがリスト ボックスから選択するビューがアクティブ ビューに設定され、ユーザーに表示されます。MultiView コントロールの詳細な例については、このトピックで示しているその他のコード例を参照してください。
<%@ Page Language="VB" %> <html> <head> <script runat="server"> Sub Index_Changed(ByVal Sender As Object, ByVal e As EventArgs) ' Set the active view to ' the view selected by the user. Dim text As String = ViewListBox.SelectedItem.Text Select Case (text) Case "View1" MultiView1.SetActiveView(View1) Case "View2" MultiView1.SetActiveView(View2) Case "View3" MultiView1.SetActiveView(View3) Case Else Throw New Exception("You did not select a valid view.") End Select End Sub </script> </head> <body> <form ID="Form1" runat="server"> <h3>MultiView Class Example</h3> <h4>Select a View to display in a MultiView control:</h4> <asp:ListBox id="ViewListBox" Rows="1" SelectionMode="Single" AutoPostBack="True" OnselectedIndexChanged="Index_Changed" runat="Server"> <asp:ListItem Value=0>View1</asp:ListItem> <asp:ListItem Value=1>View2</asp:ListItem> <asp:ListItem Value=2>View3</asp:ListItem> </asp:ListBox><br><br> <hr> <asp:MultiView id="MultiView1" runat="Server"> <asp:View id="View1" runat="Server"> <asp:Label id="View1Label" Font-bold="true" Font-size="14" Text="This is the content for View1." runat="Server"> </asp:Label> </asp:View> <asp:View id="View2" runat="Server"> <asp:Label id="View2Label" Font-bold="true" Font-size="14" Text="This is the content for View2." runat="Server"> </asp:Label> </asp:View> <asp:View id="View3" runat="Server"> <asp:Label id="View3Label" Font-bold="true" Font-size="14" Text="This is the content for View3." runat="Server"> </asp:Label> </asp:View> </asp:MultiView> </form> </body> </html>
3 つの View コントロールを格納している MultiView コントロールを作成する方法のコード例を次に示します。View コントロールにはスタイル プロパティがありません。このため、各 View コントロールには、View コントロールのスタイルを設定できるようにする Panel コントロールが格納されています。ページが初めて読み込まれると、SetActiveView メソッドを使用して DefaultView がアクティブ ビューとして設定されます。各 View コントロールには、ユーザーが別のビューに移動できるようにするためのリンク ボタンが格納されています。
<%@ Page Language="VB" %> <html> <head> <script runat="server"> Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) ' The first time the page loads, ' render the DefaultView. If Not IsPostBack Then ' Set DefaultView as the active view. MultiView1.SetActiveView(DefaultView) End If End Sub Sub LinkButton_Command(sender As Object, e As System.Web.UI.WebControls.CommandEventArgs) ' Determine which link button was clicked ' and set the active view to ' the view selected by the user. Select Case (e.CommandArgument) Case "DefaultView" MultiView1.SetActiveView(DefaultView) Case "News" MultiView1.SetActiveView(NewsView) Case "Shopping" MultiView1.SetActiveView(ShoppingView) Case Else Throw New Exception("You did not select a valid list item.") End Select End Sub </script> </html> <body> <form ID="Form1" runat="server"> <h3>MultiView Class Example</h3> <asp:MultiView id="MultiView1" runat="Server"> <asp:View id="DefaultView" runat="Server"> <asp:Panel id="DefaultViewPanel" Width="330px" BackColor="#C0C0FF" BorderColor="#404040" BorderStyle="Double" runat="Server"> <asp:Label id="DefaultLabel1" Font-bold="true" Font-size="14" Text="The Default View" runat="Server"> </asp:Label> <asp:BulletedList id="DefaultBulletedList1" BulletStyle="Disc" DisplayMode="Hyperlink" Target="_blank" runat="Server"> <asp:ListItem Value="http://www.microsoft.com">Today's Weather</asp:ListItem> <asp:ListItem Value="http://www.microsoft.com">Today's Stock Quotes</asp:ListItem> <asp:ListItem Value="http://www.microsoft.com">Today's News Headlines</asp:ListItem> <asp:ListItem Value="http://www.microsoft.com">Today's Featured Shopping</asp:ListItem> </asp:BulletedList> <hr> <asp:Label id="DefaultLabel2" Font-size="12" Text="Click a link to display a different view:" runat="Server"> </asp:Label><br> <asp:LinkButton id="Default_NewsLink" Text="Go to News View" OnCommand="LinkButton_Command" CommandArgument="News" CommandName="Link" Width="150px" runat="Server"> </asp:LinkButton> <asp:LinkButton id="Default_ShoppingLink" Text="Go to Shopping View" OnCommand="LinkButton_Command" CommandArgument="Shopping" CommandName="Link" Width="150px" runat="server"> </asp:LinkButton><br><br> </asp:Panel> </asp:View> <asp:View id="NewsView" runat="Server"> <asp:Panel id="NewsPanel1" Width="330px" BackColor="#C0FFC0" BorderColor="#404040" BorderStyle="Double" runat="Server"> <asp:Label id="NewsLabel1" Font-bold="true" Font-size="14" Text="The News View" runat="Server"> </asp:Label> <asp:BulletedList id="NewsBulletedlist1" BulletStyle="Disc" DisplayMode="Hyperlink" Target="_blank" runat="Server"> <asp:ListItem Value="http://www.microsoft.com">Today's International Headlines</asp:ListItem> <asp:ListItem Value="http://www.microsoft.com">Today's National Headlines</asp:ListItem> <asp:ListItem Value="http://www.microsoft.com">Today's Local News</asp:ListItem> </asp:BulletedList> <hr> <asp:Label id="NewsLabel2" Font-size="12" Text="Click a link to display a different view:" runat="Server"> </asp:Label><br> <asp:LinkButton id="News_DefaultLink" Text="Go to the Default View" OnCommand="LinkButton_Command" CommandArgument="DefaultView" CommandName="Link" Width="150px" runat="Server"> </asp:LinkButton> <asp:LinkButton id="News_ShoppingLink" Text="Go to Shopping View" OnCommand="LinkButton_Command" CommandArgument="Shopping" CommandName="Link" Width="150px" runat="Server"> </asp:LinkButton><br><br> </asp:Panel> </asp:View> <asp:View id="ShoppingView" runat="Server"> <asp:Panel id="ShoppingPanel1" Width="330px" BackColor="#FFFFC0" BorderColor="#404040" BorderStyle="Double" runat="Server"> <asp:Label id="ShoppingLabel1" Font-Bold="true" Font-size="14" Text="The Shopping View" runat="Server"> </asp:Label> <asp:BulletedList id="ShoppingBulletedlist1" BulletStyle="Disc" DisplayMode="Hyperlink" Target="_blank" runat="Server"> <asp:ListItem Value="http://www.microsoft.com">Shop for Home and Garden </asp:ListItem> <asp:ListItem Value="http://www.microsoft.com">Shop for Women's Fashions</asp:ListItem> <asp:ListItem Value="http://www.microsoft.com">Shop for Men's Fashions</asp:ListItem> </asp:BulletedList> <hr> <asp:Label id="ShoppingLabel2" Font-size="12" Text="Click a link to display a different view:" runat="Server"> </asp:Label><br> <asp:LinkButton id="Shopping_DefaultLink" Text="Go to the Default View" OnCommand="LinkButton_Command" CommandArgument="DefaultView" CommandName="Link" Width="150px" runat="Server"> </asp:LinkButton> <asp:LinkButton id="Shopping_NewsLink" Text="Go to News View" OnCommand="LinkButton_Command" CommandArgument="News" CommandName="Link" Width="150px" runat="Server"> </asp:LinkButton><br><br> </asp:Panel> </asp:View> </asp:MultiView> </form> </body> </html>


System.Web.UI.Control
System.Web.UI.WebControls.MultiView


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MultiView メンバ
System.Web.UI.WebControls 名前空間
View
その他の技術情報
MultiView Web サーバー コントロールおよび View Web サーバー コントロール
Weblioに収録されているすべての辞書からMultiView クラスを検索する場合は、下記のリンクをクリックしてください。

- MultiView クラスのページへのリンク