方法 : 2 つの Web パーツ コントロール間の静的接続を宣言する
更新 : 2007 年 11 月
開発者は、ページに永続形式で接続を宣言することにより、2 つのサーバー コントロールの間に静的な Web パーツ接続を作成できます。静的接続は宣言されたコントロールと同じように、Web ページ上の永続的なオブジェクトになります。静的接続は共有オブジェクトであるため、すべてのユーザーが表示できます。また、この接続オブジェクトは、削除はできませんが、ユーザー インターフェイス (UI: User Interface) オプションで接続を解除できるように設定されている場合は解除できます。静的接続は、すべてのユーザーが常に接続を使用できるようにし、ユーザーがページから接続を削除できないようにする場合に適しています。接続の詳細については、WebPartConnection のトピックおよび「Web パーツ接続の概要」を参照してください。静的接続の詳細については、IsStatic のトピックを参照してください。このトピックには、2 つの WebPart コントロールの間に静的接続を作成する方法が示されています。
メモ : |
---|
このトピックは、Web ページのマークアップで静的接続を宣言する方法を示すことに重点が置かれています。2 つのサーバー コントロール間に静的な Web パーツ接続を宣言するには、接続を処理するようにコントロールを適切にデザインし、それを WebPartZoneBase ゾーンに配置する必要があります。接続に使用するコントロールの要件の詳細については、WebPartConnection のトピックを参照してください。このトピックで示す静的接続をホストするために使用する 2 つの WebPart コントロールおよび Web ページのプログラム例を取得するには、IsStatic プロパティの「使用例」セクションを参照してください。 |
ゾーン内のサーバー コントロールを宣言するには
接続を含める Web ページの本文セクション内に <webpartzone> 要素を追加し、ゾーンに追加するサーバー コントロールを格納する子 <zonetemplate> 要素を追加します。コードは、次の例のようになります。
<asp:WebPartZone ID="WebPartZone1" runat="server"> <ZoneTemplate> </ZoneTemplate> </asp:WebPartZone>
<zonetemplate> 要素のタグの間に、Web パーツ接続でプロバイダ コントロールおよびコンシューマ コントロールとして動作するサーバー コントロールを宣言します。これらのコントロールは、接続に使用できるように既にデザインされている必要があります。その他のサーバー コントロールをゾーンに追加することもできます。このトピックで既に説明したように、この例で宣言するコントロールは、IsStatic プロパティにあるコード例から取得します。サーバー コントロールを持つゾーン全体のコードは、次のようになります。
<asp:WebPartZone ID="WebPartZone1" runat="server"> <ZoneTemplate> <aspSample:ZipCodeWebPart ID="zip1" runat="server" Title="ZIP Code Provider" /> <aspSample:WeatherWebPart ID="weather1" runat="server" Title="ZIP Code Consumer" /> </ZoneTemplate> </asp:WebPartZone>
静的接続を宣言するには
使用する Web ページには既に <asp:webpartmanager> 要素があります。この要素は、Web パーツ コントロールを使用するページ上に必要です。<asp:webpartmanager> 要素の子として <staticconnections> 要素を追加し、1 つ以上の宣言された静的接続を記述します。コードは、次の例のようになります。
<asp:WebPartManager ID="mgr" runat="server" > <StaticConnections> </StaticConnections> </asp:WebPartManager>
<staticconnections> 要素内に <asp:webpartconnection> 要素を宣言します。この接続に対して、id 属性および runat 属性に加え、次の必須属性を指定する必要があります。
ConsumerID : 接続のコンシューマ コントロールの ID を表します。
ConsumerConnectionPointID : コンシューマが接続の確立に使用する特別なコールバック メソッドの ID を表します。この属性は、コンシューマが複数のコネクション ポイントを持っている場合にのみ必要です。コネクション ポイントの詳細については、ConnectionPoint のトピックを参照してください。
ProviderID : 接続のプロバイダ コントロールの ID を表します。
ProviderConnectionPointID : プロバイダが接続の確立に使用する特別なコールバック メソッドの ID を表します。この属性は、プロバイダが複数のコネクション ポイントを持っている場合にのみ必要です。
<asp:webpartmanager> 要素および子の静的接続の完全なコードは、次の例のようになります。
<asp:WebPartManager ID="mgr" runat="server" > <StaticConnections> <asp:WebPartConnection ID="conn1" ConsumerConnectionPointID="ZipCodeConsumer" ConsumerID="weather1" ProviderConnectionPointID="ZipCodeProvider" ProviderID="zip1" /> </StaticConnections> </asp:WebPartManager>