共用方式為


HOW TO:在兩個 Web 組件控制項之間宣告靜態連接

更新:2007 年 11 月

藉由以頁面保存格式宣告連接,開發人員可在兩個伺服器控制項之間建立靜態 Web 組件連接。如同已宣告的控制項一樣,靜態連接會成為 Web 網頁上的永久物件。所有使用者都可看到靜態連接 (因為它是共用物件),但他們絕無法刪除連接物件,儘管使用者介面 (UI) 提供允許這樣做的選項時可將連接物件中斷連接。如果您希望所有的使用者可以一直使用連接,卻無法將連接從網頁上刪除,靜態連接是很好的選擇。如需連接的詳細資訊,請參閱 WebPartConnectionWeb 組件連接概觀。如需靜態連接的詳細資訊,請參閱 IsStatic。本主題會示範如何在兩個 WebPart 控制項間建立靜態連接。

注意事項:

本主題主要描述如何在 Web 網頁的標記中宣告靜態連接。若要在兩個伺服器控制項間宣告靜態 Web 組件連接,必須適當地設計這些控制項處理連接,且這些控制項必須位於 WebPartZoneBase 區域。如需參與連接之控制項需求的完整描述,請參閱 WebPartConnection。若要取得兩個 WebPart 控制項的範例程式碼,以及用於裝載本主題中示範之靜態連接的 Web 網頁,請參閱 IsStatic 屬性的<範例>一節。

若要在區域內宣告伺服器控制項

  1. 在將包含連接之 Web 網頁的主體區段中加入 <webpartzone> 項目,並加入子 <zonetemplate> 項目,以包含您加入至區域的伺服器控制項。此程式碼應該看起來與下列範例相同。

    <asp:WebPartZone ID="WebPartZone1" >
      <ZoneTemplate>
      </ZoneTemplate>
    </asp:WebPartZone>
    
  2. 在 <zonetemplate> 項目的標記 (Tag) 之間,於 Web 組件連接中宣告將充當提供者的伺服器控制項和消費者控制項。必須已設計這些控制項參與連接。您還可將其他伺服器控制項加入區域。正如本主題之前所指出的那樣,此範例中宣告的控制項是從 IsStatic 屬性中的範例程式碼取得的。具有伺服器控制項之整個區域的程式碼看起來與下列範例相同。

    <asp:WebPartZone ID="WebPartZone1" >
      <ZoneTemplate>
        <aspSample:ZipCodeWebPart ID="zip1" 
           Title="ZIP Code Provider"  />
        <aspSample:WeatherWebPart ID="weather1"  
           Title="ZIP Code Consumer" />
      </ZoneTemplate>
    </asp:WebPartZone> 
    

若要宣告靜態連接

  1. 您的 Web 網頁應該已具有 <asp:webpartmanager> 項目,在使用 Web 組件控制項的網頁上需要該項目。加入 <staticconnections> 項目做為 <asp:webpartmanager> 項目的子系,以包含一或多個已宣告的靜態連接。此程式碼應該看起來與下列範例相同。

    <asp:WebPartManager ID="mgr"  >
      <StaticConnections>
      </StaticConnections> 
    </asp:WebPartManager> 
    
  2. 在 <staticconnections> 項目內宣告 <asp:webpartconnection> 項目。對於連接,除了 id 和 runat 屬性之外,您還必須指定下列必要的屬性:

    • ConsumerID - 表示連接中消費者控制項的 ID。

    • ConsumerConnectionPointID - 表示用於建立連接之消費者中特殊回呼 (Callback) 方法的 ID。只有在消費者具有多個連接點 (Connection Point) 時,這個屬性才是必要的。如需連接點的詳細資訊,請參閱 ConnectionPoint

    • ProviderID - 表示連接中提供者控制項的 ID。

    • ProviderConnectionPointID - 表示用於建立連接之提供者中特殊回呼方法的 ID。只有在提供者具有多個連接點時,這個屬性才是必要的。

    已完成的 <asp:webpartmanager> 項目程式碼和子靜態連接應該看起來與下列範例相同。

    <asp:WebPartManager ID="mgr"  >
      <StaticConnections>
        <asp:WebPartConnection ID="conn1"
          ConsumerConnectionPointID="ZipCodeConsumer"
          ConsumerID="weather1" 
          ProviderConnectionPointID="ZipCodeProvider" 
          ProviderID="zip1" />
      </StaticConnections>      
    </asp:WebPartManager>
    

請參閱

概念

Web 組件連接概觀

ASP.NET Web 組件概觀

參考

WebPartConnection

IsStatic