ConnectionsZone クラス
アセンブリ: System.Web (system.web.dll 内)
構文
解説
Web パーツ コントロール セットを使用して、2 つのサーバー コントロール間で接続を構成してデータを共有し、1 つのコントロールはプロバイダとして機能させ、もう 1 つのコントロールをデータのコンシューマとして機能させることができます。2 つのコントロールには、WebPart コントロールか、またはその他の任意の種類のサーバー コントロールを指定できます。ただし、それらが接続を処理するようにデザインされ、WebPartZoneBase ゾーン内にある必要があります。Web パーツ接続の詳細については、WebPartConnection クラスの概要、 ConnectionPoint クラスの概要、および「Web パーツ接続の概要」を参照してください。
Web パーツ接続に必要なコントロールと条件が揃ったら、コントロールを実際に接続する必要があります。サーバー コントロール間で接続を構成する方法は 3 つあります。Web ページで接続を宣言する方法、コードで接続を作成する方法、および、ページに ConnectionsZone コントロールを追加して、ユーザーが必要に応じてコントロールを接続できるようにする方法です。ConnectionsZone コントロールは、接続の構成に必要な条件を満たしているページ上の任意のサーバー コントロールをユーザーが接続または接続解除できる UI を生成します。このコントロールは接続の構成に必ずしも必要ではないオプションのコントロールですが、接続または接続解除するサーバー コントロールをユーザーが制御できるようにする場合に役立ちます。
ConnectionsZone コントロールは Web パーツ ツール ゾーン コントロールの 1 つで、ToolZone 基本クラスから継承されます。ツール ゾーンの 1 つである ConnectionsZone コントロールは、Web ページが特定の表示モードになっている場合にのみ表示されるようにデザインされています。このような場合の表示モードを、接続モードと呼びます (ページ上の WebPartManager コントロールの DisplayMode プロパティ値が ConnectDisplayMode に設定されている場合に、ページがこのモードになります)。ユーザーがページを接続モードに切り替え、1 つのサーバー コントロールの動詞メニューの Connect 動詞をクリックすると、接続 UI が表示されます。
Web パーツ ゾーン コントロールの 1 つである ConnectionsZone コントロールは、WebZone ゾーン (CompositeControl クラスから継承されます) の一種で、他のコントロールを格納するようにデザインされています。一般に、ConnectionsZone ゾーンには、ヘッダー、本体 (コンテンツ領域)、フッターなど、他の Web パーツ ツール ゾーンに含まれる要素の大部分が含まれます。Web パーツ ゾーンの定義と、ゾーンに含まれるさまざまな部分の詳細については、WebZone クラスの概要を参照してください。
重要 : |
---|
他の Web パーツ ゾーンとは異なり、ConnectionsZone ゾーンは、それに関連付けられた一意の種類のサーバー コントロールを格納しません。ゾーンおよびそれに格納される関連付けられたコントロールの一覧については、WebZone クラスの概要の表を参照してください。ConnectionsZone ゾーンは、WebPartConnection コントロールを格納しません。その代わりに、ページ上の特定の WebPartZoneBase ゾーン内にあるサーバー コントロールをユーザーが接続または接続解除できる UI を提供するという、非常に限定された用途で使用されます。ConnectionsZone コントロールに格納される唯一のコントロールは、接続を構成する UI の一部としてコントロールが生成する、標準 ASP.NET サーバー コントロールです。 |
ConnectionsZone コントロールは、レンダリング時に、接続を構成できるページ上のサーバー コントロールに基づいて UI を生成します。ConnectionsZone コントロールは、ページ上の WebPartZoneBase ゾーンにあるサーバー コントロールのどれがプロバイダでどれがコンシューマか、どのコネクション ポイントを使用できるか、および、サーバー コントロールが現在接続されているかまたは接続解除されているかを判断し、それに基づいて UI を生成します。
たとえば、プロバイダとして機能する 1 つの WebPart コントロールとコンシューマとして機能する 1 つの WebPart コントロールが存在し、それらがページ上の WebPartZone で宣言されていて、現在は接続解除されているとします。ユーザーがページを接続モードに切り替え、1 つのコントロールの Connect 動詞をクリックすると、リンクを含んだ UI が ConnectionsZone コントロールによって生成されます。このリンクをクリックすると、接続を作成するオプションをユーザーが選択できるフォームが表示されます (コントロールが接続済みの場合は、代わりに、コントロールの接続を解除するボタンを含んだ初期ビューが表示されます)。新しい接続を作成する接続 UI には、どちらのコントロールがプロバイダで、どちらのコントロールがコンシューマであるかが表示されます。それぞれのサーバー コントロールの下には、そのコントロールに使用できる ConnectionPoint オブジェクトの一覧を表示したドロップダウン リスト コントロールが表示されます。ユーザーは、それぞれのドロップダウン リストから、プロバイダでは ProviderConnectionPoint オブジェクトを 1 つ (コンシューマと共有するインターフェイスおよびデータを決定)、プロバイダに接続される各コンシューマでは ConsumerConnectionPoint オブジェクトを 1 つ (そのコンシューマが使用するインターフェイスとデータを決定)、選択する必要があります。
ConnectionsZone コントロールを使用するには、このコントロールを Web ページ上の (他の Web パーツ ゾーン要素の入れ子になっていない) <form> 要素内で <asp:connectionszone> 要素を使用して宣言するか、またはプログラムによってページに追加します。ページ内で <asp:connectionszone> 要素を宣言する場合、他の Web パーツ ゾーンとは異なり、この要素のタグ内で他の型のサーバー コントロールを宣言することはできません。この要素自体のプロパティおよびスタイルの詳細に関する要素はタグ内で宣言できますが、この要素はスタンドアロンの要素であり、要素内で他のサーバー コントロールを宣言できるテンプレート コントロールではありません。
メモ |
---|
ユーザー補助を向上させるには、ConnectionsZone コントロールを <fieldset> 要素内に表示します。<fieldset> 要素は、ConnectionsZone コントロール内で接続の確立に使用される関連コントロール セットをグループ化します。ビジュアル ユーザー エージェント (通常の Web ブラウザなど) および音声指向ユーザー エージェント (画面読み取りソフトウェアなど) の両方で、それらのグループ化されたコントロール間をタブで簡単に移動できます。 |
ConnectionsZone コントロールには、接続 UI の表示に使用するプロパティが多数あります。1 つのプロパティ セットには、UI でアクションを実行する (接続に関してのみ使用される) 動詞 (ConfigureVerb、ConnectVerb、および DisconnectVerb) が含まれます。接続ゾーン UI 用に特別に使用される大きいプロパティ セットは、UI のさまざまな場所 (または、エラーが発生した場合などの特定の状況下) で表示される文字列 (ConfigureConnectionTitle、ConnectToConsumerInstructionText、ConnectToConsumerText、ConnectToConsumerTitle、ConnectToProviderInstructionText、ConnectToProviderText、ConnectToProviderTitle、ConsumersInstructionText、ConsumersTitle、ExistingConnectionErrorMessage、GetFromText、GetText、InstructionTitle、NewConnectionErrorMessage、NoExistingConnectionInstructionText、NoExistingConnectionTitle、ProvidersInstructionText、ProvidersTitle、SendText、および SendToText) で構成されます。さらに、ConnectionsZone クラスには、他の Web パーツ ゾーンが持っている共通のプロパティ (CancelVerb、CloseVerb、Display、EmptyZoneText、HeaderText、InstructionText、および PartChromeType) も含まれています。また、WebPartToConnect プロパティはこのクラス固有のプロパティであり、接続を開始するコントロール (ユーザーが動詞メニューの Connect 動詞をクリックする対象のコントロールで、WebPartManager コントロールの SelectedWebPart プロパティで参照されるコントロール) を参照します。
ConnectionsZone クラスはいくつかのメソッドも持っています。それらはすべて基本クラスから継承されてオーバーライドされ、大部分は Web パーツ ゾーンの基本クラスから派生します。詳細については、個々のメソッドのトピックを参照してください。
継承時の注意 開発者が ConnectionsZone クラスの動作を変更したり、このクラスで接続の処理用に用意されている既定の UI を変更したりする場合は、このクラスを拡張できます。Web パーツ ページ上で ConnectionsZone コントロールを使用する方法を次のコード例に示します。この例は、4 つの部分で構成されます。
-
ZIP Code インターフェイスのコード、および、接続のプロバイダとコンシューマとして機能する 2 つの WebPart コントロールのコードを含んでいるソース ファイル
-
すべてのコントロールをホストし、<asp:connectionszone> 要素を宣言する方法を示し、宣言およびプログラムによって接続ゾーンのさまざまなプロパティを設定する Web ページ
コード例の最初の部分は、ユーザーが Web ページ上の表示モードを切り替えられるようにするユーザー コントロールです。表示モードの詳細、およびこのコントロールのソース コードの説明については、「チュートリアル : Web パーツ ページでの表示モードの変更」を参照してください。
<%@ control language="vb" classname="DisplayModeMenuVB"%> <script runat="server"> ' Use a field to reference the current WebPartManager. Dim _manager As WebPartManager Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) AddHandler Page.InitComplete, AddressOf InitComplete End Sub Sub InitComplete(ByVal sender As Object, ByVal e As System.EventArgs) _manager = WebPartManager.GetCurrentWebPartManager(Page) Dim browseModeName As String = WebPartManager.BrowseDisplayMode.Name ' Fill the dropdown with the names of supported display modes. Dim mode As WebPartDisplayMode For Each mode In _manager.SupportedDisplayModes Dim modeName As String = mode.Name ' Make sure a mode is enabled before adding it. If mode.IsEnabled(_manager) Then Dim item As New ListItem(modeName, modeName) DisplayModeDropdown.Items.Add(item) End If Next mode ' If shared scope is allowed for this user, display the scope-switching ' UI and select the appropriate radio button for the current user scope. If _manager.Personalization.CanEnterSharedScope Then Panel2.Visible = True If _manager.Personalization.Scope = PersonalizationScope.User Then RadioButton1.Checked = True Else RadioButton2.Checked = True End If End If End Sub ' Change the page to the selected display mode. Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _ ByVal e As EventArgs) Dim selectedMode As String = DisplayModeDropdown.SelectedValue Dim mode As WebPartDisplayMode = _ _manager.SupportedDisplayModes(selectedMode) If Not (mode Is Nothing) Then _manager.DisplayMode = mode End If End Sub ' Set the selected item equal to the current display mode. Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs) Dim items As ListItemCollection = DisplayModeDropdown.Items Dim selectedIndex As Integer = _ items.IndexOf(items.FindByText(_manager.DisplayMode.Name)) DisplayModeDropdown.SelectedIndex = selectedIndex End Sub ' Reset all of a user's personalization data for the page. Protected Sub LinkButton1_Click(ByVal sender As Object, _ ByVal e As EventArgs) _manager.Personalization.ResetPersonalizationState() End Sub ' If not in User personalization scope, toggle into it. Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, _ ByVal e As EventArgs) If _manager.Personalization.Scope = PersonalizationScope.Shared Then _manager.Personalization.ToggleScope() End If End Sub ' If not in Shared scope, and if user is allowed, toggle the scope. Protected Sub RadioButton2_CheckedChanged(ByVal sender As Object, _ ByVal e As EventArgs) If _manager.Personalization.CanEnterSharedScope AndAlso _ _manager.Personalization.Scope = PersonalizationScope.User Then _manager.Personalization.ToggleScope() End If End Sub </script> <div> <asp:Panel ID="Panel1" runat="server" Borderwidth="1" Width="230" BackColor="lightgray" Font-Names="Verdana, Arial, Sans Serif" > <asp:Label ID="Label1" runat="server" Text=" Display Mode" Font-Bold="true" Font-Size="8" Width="120" /> <asp:DropDownList ID="DisplayModeDropdown" runat="server" AutoPostBack="true" Width="120" OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" /> <asp:LinkButton ID="LinkButton1" runat="server" Text="Reset User State" ToolTip="Reset the current user's personalization data for the page." Font-Size="8" OnClick="LinkButton1_Click" /> <asp:Panel ID="Panel2" runat="server" GroupingText="Personalization Scope" Font-Bold="true" Font-Size="8" Visible="false" > <asp:RadioButton ID="RadioButton1" runat="server" Text="User" AutoPostBack="true" GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" /> <asp:RadioButton ID="RadioButton2" runat="server" Text="Shared" AutoPostBack="true" GroupName="Scope" OnCheckedChanged="RadioButton2_CheckedChanged" /> </asp:Panel> </asp:Panel> </div>
<%@ control language="C#" classname="DisplayModeMenuCS"%> <script runat="server"> // Use a field to reference the current WebPartManager. WebPartManager _manager; void Page_Init(object sender, EventArgs e) { Page.InitComplete += new EventHandler(InitComplete); } void InitComplete(object sender, System.EventArgs e) { _manager = WebPartManager.GetCurrentWebPartManager(Page); String browseModeName = WebPartManager.BrowseDisplayMode.Name; // Fill the dropdown with the names of supported display modes. foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes) { String modeName = mode.Name; // Make sure a mode is enabled before adding it. if (mode.IsEnabled(_manager)) { ListItem item = new ListItem(modeName, modeName); DisplayModeDropdown.Items.Add(item); } } // If shared scope is allowed for this user, display the scope-switching // UI and select the appropriate radio button for the current user scope. if (_manager.Personalization.CanEnterSharedScope) { Panel2.Visible = true; if (_manager.Personalization.Scope == PersonalizationScope.User) RadioButton1.Checked = true; else RadioButton2.Checked = true; } } // Change the page to the selected display mode. void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e) { String selectedMode = DisplayModeDropdown.SelectedValue; WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode]; if (mode != null) _manager.DisplayMode = mode; } // Set the selected item equal to the current display mode. void Page_PreRender(object sender, EventArgs e) { ListItemCollection items = DisplayModeDropdown.Items; int selectedIndex = items.IndexOf(items.FindByText(_manager.DisplayMode.Name)); DisplayModeDropdown.SelectedIndex = selectedIndex; } // Reset all of a user's personalization data for the page. protected void LinkButton1_Click(object sender, EventArgs e) { _manager.Personalization.ResetPersonalizationState(); } // If not in User personalization scope, toggle into it. protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { if (_manager.Personalization.Scope == PersonalizationScope.Shared) _manager.Personalization.ToggleScope(); } // If not in Shared scope, and if user is allowed, toggle the scope. protected void RadioButton2_CheckedChanged(object sender, EventArgs e) { if (_manager.Personalization.CanEnterSharedScope && _manager.Personalization.Scope == PersonalizationScope.User) _manager.Personalization.ToggleScope(); } </script> <div> <asp:Panel ID="Panel1" runat="server" Borderwidth="1" Width="230" BackColor="lightgray" Font-Names="Verdana, Arial, Sans Serif" > <asp:Label ID="Label1" runat="server" Text=" Display Mode" Font-Bold="true" Font-Size="8" Width="120" /> <asp:DropDownList ID="DisplayModeDropdown" runat="server" AutoPostBack="true" Width="120" OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" /> <asp:LinkButton ID="LinkButton1" runat="server" Text="Reset User State" ToolTip="Reset the current user's personalization data for the page." Font-Size="8" OnClick="LinkButton1_Click" /> <asp:Panel ID="Panel2" runat="server" GroupingText="Personalization Scope" Font-Bold="true" Font-Size="8" Visible="false" > <asp:RadioButton ID="RadioButton1" runat="server" Text="User" AutoPostBack="true" GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" /> <asp:RadioButton ID="RadioButton2" runat="server" Text="Shared" AutoPostBack="true" GroupName="Scope" OnCheckedChanged="RadioButton2_CheckedChanged" /> </asp:Panel> </asp:Panel> </div>
コード例の 2 番目の部分は、インターフェイスとカスタム コントロールを含んでいるソース ファイルです。ZipCodeWebPart コントロールは IZipCode を実装し、プロバイダとして機能できるように ConnectionProvider 属性を追加しています。WeatherWebPart コントロールは ConnectionConsumer 属性でマークされたメソッドを持ち、このメソッドで IZipCode インターフェイスを使用して、接続のコンシューマとして機能できます。
コード例を実行するためには、このソース コードをコンパイルする必要があります。それを明示的にコンパイルし、コンパイル済みのアセンブリを Web サイトの Bin フォルダまたはグローバル アセンブリ キャッシュに配置できます。サイトの App_Code フォルダにソース コードを配置し、実行時に動的にコンパイルすることもできます。この例は、動的コンパイルを使用します。コンパイル方法を示すチュートリアルについては、「チュートリアル : カスタム サーバー コントロールの開発と使用」を参照してください。
Imports System Imports System.Web Imports System.Web.Security Imports System.Security.Permissions Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.WebControls.WebParts Namespace Samples.AspNet.VB.Controls <AspNetHostingPermission(SecurityAction.Demand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ <AspNetHostingPermission(SecurityAction.InheritanceDemand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ Public Interface IZipCode Property ZipCode() As String End Interface <AspNetHostingPermission(SecurityAction.Demand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ <AspNetHostingPermission(SecurityAction.InheritanceDemand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ Public Class ZipCodeWebPart Inherits WebPart Implements IZipCode Private zipCodeText As String = String.Empty Private input As TextBox Private send As Button Public Sub New() End Sub ' Make the implemented property personalizable to save ' the Zip Code between browser sessions. <Personalizable()> _ Public Property ZipCode() As String _ Implements IZipCode.ZipCode Get Return zipCodeText End Get Set(ByVal value As String) zipCodeText = value End Set End Property ' This is the callback method that returns the provider. <ConnectionProvider("Zip Code Provider", "ZipCodeProvider")> _ Public Function ProvideIZipCode() As IZipCode Return Me End Function Protected Overrides Sub CreateChildControls() Controls.Clear() input = New TextBox() Me.Controls.Add(input) send = New Button() send.Text = "Enter 5-digit Zip Code" AddHandler send.Click, AddressOf Me.submit_Click Me.Controls.Add(send) End Sub Private Sub submit_Click(ByVal sender As Object, _ ByVal e As EventArgs) If input.Text <> String.Empty Then zipCodeText = Page.Server.HtmlEncode(input.Text) input.Text = String.Empty End If End Sub End Class <AspNetHostingPermission(SecurityAction.Demand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ <AspNetHostingPermission(SecurityAction.InheritanceDemand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ Public Class WeatherWebPart Inherits WebPart Private _provider As IZipCode Private _zipSearch As String Private DisplayContent As Label ' This method is identified by the ConnectionConsumer ' attribute, and is the mechanism for connecting with ' the provider. <ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")> _ Public Sub GetIZipCode(ByVal Provider As IZipCode) _provider = Provider End Sub Protected Overrides Sub OnPreRender(ByVal e As EventArgs) EnsureChildControls() If Not (Me._provider Is Nothing) Then _zipSearch = _provider.ZipCode.Trim() DisplayContent.Text = "My Zip Code is: " + _zipSearch End If End Sub 'OnPreRender Protected Overrides Sub CreateChildControls() Controls.Clear() DisplayContent = New Label() Me.Controls.Add(DisplayContent) End Sub End Class End Namespace
namespace Samples.AspNet.CS.Controls { using System; using System.Web; using System.Web.Security; using System.Security.Permissions; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] public interface IZipCode { string ZipCode { get; set;} } [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] public class ZipCodeWebPart : WebPart, IZipCode { string zipCodeText = String.Empty; TextBox input; Button send; public ZipCodeWebPart() { } // Make the implemented property personalizable to save // the Zip Code between browser sessions. [Personalizable()] public virtual string ZipCode { get { return zipCodeText; } set { zipCodeText = value; } } // This is the callback method that returns the provider. [ConnectionProvider("Zip Code Provider", "ZipCodeProvider")] public IZipCode ProvideIZipCode() { return this; } protected override void CreateChildControls() { Controls.Clear(); input = new TextBox(); this.Controls.Add(input); send = new Button(); send.Text = "Enter 5-digit Zip Code"; send.Click += new EventHandler(this.submit_Click); this.Controls.Add(send); } private void submit_Click(object sender, EventArgs e) { if (input.Text != String.Empty) { zipCodeText = Page.Server.HtmlEncode(input.Text); input.Text = String.Empty; } } } [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] public class WeatherWebPart : WebPart { private IZipCode _provider; string _zipSearch; Label DisplayContent; // This method is identified by the ConnectionConsumer // attribute, and is the mechanism for connecting with // the provider. [ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")] public void GetIZipCode(IZipCode Provider) { _provider = Provider; } protected override void OnPreRender(EventArgs e) { EnsureChildControls(); if (this._provider != null) { _zipSearch = _provider.ZipCode.Trim(); DisplayContent.Text = "My Zip Code is: " + _zipSearch; } } protected override void CreateChildControls() { Controls.Clear(); DisplayContent = new Label(); this.Controls.Add(DisplayContent); } } }
プログラム例の 3 番目の部分は Web ページです。先頭近くに、接続に使用されるユーザー コントロールとカスタム コントロールの Register ディレクティブがあります。宣言によって ConnectionsZone コントロールを使用する例として、<asp:connectionszone> 要素がページで宣言されています。この要素内で、いくつかのプロパティが宣言によって設定されています。接続ゾーンのその他のプロパティは、ページの <script> セクション内でプログラムによって設定されています。
<%@ Page Language="VB" %> <%@ register tagprefix="uc1" tagname="DisplayModeMenuVB" src="~/displaymodemenuvb.ascx" %> <%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Page_PreRender(ByVal sender As Object, _ ByVal e As System.EventArgs) ' Set properties for verbs. connectionsZone1.CancelVerb.Description = _ "Terminates the connection process" connectionsZone1.CloseVerb.Description = _ "Closes the connections UI" connectionsZone1.ConfigureVerb.Description = _ "Configure the transformer for the connection" connectionsZone1.ConnectVerb.Description = _ "Connect two WebPart controls" connectionsZone1.DisconnectVerb.Description = _ "End the connection between two controls" ' Set properties for UI text strings. connectionsZone1.ConfigureConnectionTitle = _ "Configure a new connection" connectionsZone1.ConnectToConsumerInstructionText = _ "Choose a consumer connection point" connectionsZone1.ConnectToConsumerText = _ "Select a consumer for the provider to connect with" connectionsZone1.ConnectToConsumerTitle = _ "Send data to this consumer" connectionsZone1.ConnectToProviderInstructionText = _ "Choose a provider connection point" connectionsZone1.ConnectToProviderText = _ "Select a provider for the consumer to connect with" connectionsZone1.ConnectToProviderTitle = _ "Get data from this provider" connectionsZone1.ConsumersInstructionText = _ "WebPart controls that receive data from providers" connectionsZone1.ConsumersTitle = "Consumer Controls" connectionsZone1.GetFromText = "Receive from" connectionsZone1.GetText = "Retrieve" connectionsZone1.HeaderText = _ "Create and Manage Connections" connectionsZone1.InstructionText = _ "Manage connections for the selected WebPart control" connectionsZone1.InstructionTitle = _ "Manage connections for consumers or providers" connectionsZone1.NoExistingConnectionInstructionText = _ "No connections exist. Click the above link to create " _ & "a connection." connectionsZone1.NoExistingConnectionTitle = _ "No current connections" connectionsZone1.ProvidersInstructionText = _ "WebPart controls that send data to consumers" connectionsZone1.ProvidersTitle = "Provider controls" End Sub </script> <html > <head runat="server"> <title>Connection Zone Sample</title> </head> <body> <form id="form1" runat="server"> <asp:webpartmanager runat="server" id="mgr"> <staticconnections> <asp:webpartconnection id="connection1" consumerconnectionpointid="ZipCodeConsumer" consumerid="zipConsumer" providerconnectionpointid="ZipCodeProvider" providerid="zipProvider" /> </staticconnections> </asp:webpartmanager> <uc1:displaymodemenuvb id="menu1" runat="server" /> <div> <asp:webpartzone id="WebPartZone1" runat="server"> <zonetemplate> <aspsample:zipcodewebpart id="zipProvider" runat="server" title="Zip Code Provider" /> <aspsample:weatherwebpart id="zipConsumer" runat="server" title="Zip Code Consumer" /> </zonetemplate> </asp:webpartzone> <asp:connectionszone id="connectionsZone1" runat="server" > <cancelverb text="Terminate" /> <closeverb text="Close Zone" /> <configureverb text="Configure" /> <connectverb text="Connect Controls" /> <disconnectverb text="End Connection" /> </asp:connectionszone> </div> </form> </body> </html>
<%@ Page Language="C#" %> <%@ register tagprefix="uc1" tagname="DisplayModeMenuCS" src="~/displaymodemenucs.ascx" %> <%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void Page_PreRender(object sender, EventArgs e) { // Set properties on verbs. connectionsZone1.CancelVerb.Description = "Terminates the connection process"; connectionsZone1.CloseVerb.Description = "Closes the connections UI"; connectionsZone1.ConfigureVerb.Description = "Configure the transformer for the connection"; connectionsZone1.ConnectVerb.Description = "Connect two WebPart controls"; connectionsZone1.DisconnectVerb.Description = "End the connection between two controls"; // Set properties for UI text strings. connectionsZone1.ConfigureConnectionTitle = "Configure"; connectionsZone1.ConnectToConsumerInstructionText = "Choose a consumer connection point"; connectionsZone1.ConnectToConsumerText = "Select a consumer for the provider to connect with"; connectionsZone1.ConnectToConsumerTitle = "Send data to this consumer"; connectionsZone1.ConnectToProviderInstructionText = "Choose a provider connection point"; connectionsZone1.ConnectToProviderText = "Select a provider for the consumer to connect with"; connectionsZone1.ConnectToProviderTitle = "Get data from this provider"; connectionsZone1.ConsumersInstructionText = "WebPart controls that receive data from providers"; connectionsZone1.ConsumersTitle = "Consumer Controls"; connectionsZone1.GetFromText = "Receive from"; connectionsZone1.GetText = "Retrieve"; connectionsZone1.HeaderText = "Create and Manage Connections"; connectionsZone1.InstructionText = "Manage connections for the selected WebPart control"; connectionsZone1.InstructionTitle = "Manage connections for consumers or providers"; connectionsZone1.NoExistingConnectionInstructionText = "No connections exist. Click the above link to create " + "a connection."; connectionsZone1.NoExistingConnectionTitle = "No current connections"; connectionsZone1.ProvidersInstructionText = "WebPart controls that send data to consumers"; connectionsZone1.ProvidersTitle = "Provider controls"; } </script> <html > <head runat="server"> <title>Connection Zone Sample</title> </head> <body> <form id="form1" runat="server"> <asp:webpartmanager runat="server" id="mgr"> <staticconnections> <asp:webpartconnection id="connection1" consumerconnectionpointid="ZipCodeConsumer" consumerid="zipConsumer" providerconnectionpointid="ZipCodeProvider" providerid="zipProvider" /> </staticconnections> </asp:webpartmanager> <uc1:displaymodemenucs id="menu1" runat="server" /> <div> <asp:webpartzone id="WebPartZone1" runat="server"> <zonetemplate> <aspsample:zipcodewebpart id="zipProvider" runat="server" title="Zip Code Provider" /> <aspsample:weatherwebpart id="zipConsumer" runat="server" title="Zip Code Consumer" /> </zonetemplate> </asp:webpartzone> <asp:connectionszone id="connectionsZone1" runat="server" > <cancelverb text="Terminate" /> <closeverb text="Close Zone" /> <configureverb text="Configure" /> <connectverb text="Connect Controls" /> <disconnectverb text="End Connection" /> </asp:connectionszone> </div> </form> </body> </html>
ブラウザに Web ページを読み込みます。[表示モード] ドロップダウン リスト コントロールを使用して、ページを接続モードに切り替えます。[ZIP Code Provider] コントロールの動詞メニュー (コントロールのタイトル バーに下向きの矢印で表示) で、Connect 動詞をクリックします。ConnectionsZone コントロールが表示されます。接続 UI に [End Connection] が表示されていることに注意してください。ページのマークアップで接続が宣言されているため、コントロールは既に接続されています。[End Connection] をクリックし、再び [表示モード] コントロールを使用してページをブラウズ モードに戻します。次に、ページを再び接続モードに戻し、1 つのコントロールの Connect 動詞をクリックすると、コントロールの間の接続を構成できるハイパーリンクが UI に表示されます。リンクをクリックし、接続 UI でコネクション ポイントを選択して接続を確立します。
System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.CompositeControl
System.Web.UI.WebControls.WebParts.WebZone
System.Web.UI.WebControls.WebParts.ToolZone
System.Web.UI.WebControls.WebParts.ConnectionsZone
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Weblioに収録されているすべての辞書からConnectionsZone クラスを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からConnectionsZone クラスを検索
- ConnectionsZone クラスのページへのリンク