ASP.NET実践:2つのWebコンポーネントコントロール間の静的接続を宣言する

3455 ワード

ページの宣言によって、開発者はWebコンポーネントに2つのサーバコントロール間で静的に接続することができます.宣言されたコントロールと同様に、静的接続はWebページで永続的なオブジェクトになります.すべてのユーザーは、共有されているオブジェクトであるため、静的接続を見ることができます.ユーザーインタフェース(UI)オプションを提供して接続オブジェクトとの接続を解除することができますが、接続オブジェクトを削除することはできません.接続が常にすべてのユーザーに使用可能であり、ページから削除したくない場合は、静的接続を選択するのが良いアイデアです.接続の詳細については、「WebPartConnectionおよびWeb部品接続の概要」を参照してください.静的接続の詳細については、「IsStaticプロパティ」を参照してください.この文書では、2つのWebPartコントロール間で静的接続を作成する方法を示します.
ヒント:この記事の注目点は、Webページのタグに静的接続を宣言する方法です.2つのサーバコントロール間の静的Webコンポーネントの接続を宣言するには、これらのコントロールは完全に接続を処理するように設計され、WebPartZoneBaseの領域にある必要があります.接続に関連するコントロールの要件の詳細については、「WebPartConnectionクラス」を参照してください.2つのWebPartコントロールと、静的接続を管理するWebページ(この文書で説明する)のインスタンスコードを取得するには、IsStaticプロパティの「インスタンス」セクションを参照してください.

ゾーンでサーバコントロールを宣言する方法

  • 接続を含むWebページの<body>セクションに<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ページには、Webコンポーネントコントロールを使用するためにページに必要な<Asp:WebPartManager>要素があるはずです.宣言された1つまたは複数の静的接続を含むために、<Asp:WebPartManager>要素にサブ要素<StaticConnections>を追加します.コードは次の例のように見えます.
    
    
    <asp:WebPartManager ID="mgr" runat="server" >
    
      <StaticConnections>
    
      </StaticConnections> 
    
    </asp:WebPartManager> 
    
    
  • <StaticConnection>要素において、<Asp:WebPartConnection>要素が宣言される.idrunatのパラメータに加えて、この接続に次の必要なパラメータを指定する必要があります.
  • 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>