Aracılığıyla paylaş


WebPartManager.GetConsumerConnectionPoints(WebPart) Yöntem

Tanım

Web Bölümleri bağlantısı içinde tüketici olarak davranan bir sunucu denetiminden bağlantı noktası olarak davranabilen nesnelerin koleksiyonunu ConsumerConnectionPoint alır.

public:
 virtual System::Web::UI::WebControls::WebParts::ConsumerConnectionPointCollection ^ GetConsumerConnectionPoints(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
public virtual System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection GetConsumerConnectionPoints (System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member GetConsumerConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection
override this.GetConsumerConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection
Public Overridable Function GetConsumerConnectionPoints (webPart As WebPart) As ConsumerConnectionPointCollection

Parametreler

webPart
WebPart

Bir bağlantıda tüketici olarak davranan bir sunucu denetimi.

Döndürülenler

Tüketicideki ConsumerConnectionPointCollection tüm bağlantı noktalarını içeren bir.

Özel durumlar

webPart, null değeridir.

Örnekler

Aşağıdaki kod örneğinde yönteminin nasıl kullanılacağı gösterilmektedir GetConsumerConnectionPoints .

Kod örneğinin dört bölümü vardır:

  • Web Bölümleri sayfasındaki görüntüleme modlarını değiştirmenize olanak tanıyan bir kullanıcı denetimi.

  • Bağlanabilen iki özel WebPart denetim ve bir öğe içeren bir <asp:webpartmanager> Web sayfası.

  • İki özel denetim ve özel WebPart arabirim içeren bir kaynak kod dosyası.

  • Örneğin tarayıcıda nasıl çalıştığını gösteren açıklama.

Kod örneğinin ilk bölümü, görüntüleme modlarını değiştirmeye yönelik kullanıcı denetimidir. Kullanıcı denetimi için kaynak kodunu sınıfa genel bakışın Örnek bölümünden WebPartManager alabilirsiniz. Görüntüleme modları ve kullanıcı denetiminin nasıl çalıştığı hakkında daha fazla bilgi için İzlenecek Yol: Web Bölümleri Sayfasında Görüntüleme Modlarını Değiştirme konusuna bakın.

Web sayfasının bildirim temelli işaretlemesi hem kullanıcı denetimi hem de özel denetimler için yönergeler içerir Register . Bir <asp:webpartmanager> öğe, özel denetimleri içeren bir <asp:webpartzone> öğe ve bir <asp:connectionszone> öğe vardır. yönteminde Page_Load kodun bir bağlantının zaten var olup olmadığını denetlediğini ve yoksa bir sağlayıcıyı, tüketiciyi ve ilgili bağlantı noktalarını tanımladığını ve ardından özelliği tarafından başvuruda bulunılan statik bağlantılar kümesine yeni bir bağlantı ekleyip eklemediğine StaticConnections dikkat edin. ConsumerConnectionPointCollection Yöntemi kullanılarak GetConsumerConnectionPoints alınan nesnenin daha sonra iki denetim arasında bağlantı oluşturulup oluşturulamayacağını belirlemek için yöntemine geçirildiğini CanConnectWebParts unutmayın.

<%@ Page Language="C#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenuCS.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" 
  Assembly="ConnectionSampleCS"%>

<!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_Load(object sender, EventArgs e)
  {
    
    // Define provider, consumer, and connection points.
    WebPart provider = mgr.WebParts["zip1"];
    ProviderConnectionPoint provConnPoint =
      mgr.GetProviderConnectionPoints(provider)["ZipCodeProvider"];
    WebPart consumer = mgr.WebParts["weather1"];
    ConsumerConnectionPoint consConnPoint =
      mgr.GetConsumerConnectionPoints(consumer)["ZipCodeConsumer"];
    
    // Check whether the connection already exists.
    if (mgr.CanConnectWebParts(provider, provConnPoint,
      consumer, consConnPoint))
    {
      // Create a new static connection.
      WebPartConnection conn = new WebPartConnection();
      conn.ID = "staticConn1";
      conn.ConsumerID = "weather1";
      conn.ConsumerConnectionPointID = "ZipCodeConsumer";
      conn.ProviderID = "zip1";
      conn.ProviderConnectionPointID = "ZipCodeProvider";
      mgr.StaticConnections.Add(conn);
    }
 }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
      <asp:WebPartManager ID="mgr" runat="server" />   
    <div>
      <uc1:DisplayModeMenuCS ID="displaymode1" 
        runat="server" />
      <!-- Reference consumer and provider controls 
           in a zone. -->
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:ZipCodeWebPart ID="zip1" 
            runat="server" 
            Title="Zip Code Control"/>
          <aspSample:WeatherWebPart ID="weather1" 
            runat="server" 
            Title="Weather Control" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <!-- Add a ConnectionsZone so users can connect 
           controls. -->
      <asp:ConnectionsZone ID="ConnectionsZone1" 
        runat="server" />
    </div>
    </form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuVB" 
  Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls" 
  Assembly="ConnectionSampleVB"%>

<!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_Load(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    ' Define provider, consumer, and connection points.
    Dim provider As WebPart = mgr.WebParts("zip1")
    Dim provConnPoint As ProviderConnectionPoint = _
      mgr.GetProviderConnectionPoints(provider)("ZipCodeProvider")
    Dim consumer As WebPart = mgr.WebParts("weather1")
    Dim consConnPoint As ConsumerConnectionPoint = _
      mgr.GetConsumerConnectionPoints(consumer)("ZipCodeConsumer")
    
    ' Check whether the connection already exists.
    If mgr.CanConnectWebParts(provider, provConnPoint, _
      consumer, consConnPoint) Then
      ' Create a new static connection.
      Dim conn As New WebPartConnection()
      conn.ID = "staticConn1"
      conn.ConsumerID = "weather1"
      conn.ConsumerConnectionPointID = "ZipCodeConsumer"
      conn.ProviderID = "zip1"
      conn.ProviderConnectionPointID = "ZipCodeProvider"
      mgr.StaticConnections.Add(conn)
    End If
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
      <asp:WebPartManager ID="mgr" runat="server" />   
    <div>
      <uc1:DisplayModeMenuVB ID="displaymode1" 
        runat="server" />
      <!-- Reference consumer and provider controls 
           in a zone. -->
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:ZipCodeWebPart ID="zip1" 
            runat="server" 
            Title="Zip Code Control"/>
          <aspSample:WeatherWebPart ID="weather1" 
            runat="server" 
            Title="Weather Control" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <!-- Add a ConnectionsZone so users can connect 
           controls. -->
      <asp:ConnectionsZone ID="ConnectionsZone1" 
        runat="server" />
    </div>
    </form>
</body>
</html>

Örneğin üçüncü bölümü, denetimlerin kaynak kodudur. Bu kodu ve derleme yönergelerini sınıfa genel bakışın Örnek bölümünden WebPartManager edinebilirsiniz.

Web sayfasını bir tarayıcıda yükledikten sonra , Görüntüleme Modu açılan liste denetimine tıklayın ve Bağlan'ı seçerek sayfayı bağlantı moduna geçirin. Bağlantı modu, denetimler arasında bağlantı oluşturmanıza olanak tanımak için öğesini kullanır <asp:connectionszone> . Bağlantı modunda, fiil menüsünü etkinleştirmek için POSTA Kodu denetiminin başlık çubuğundaki aşağı oka tıklayın ve ardından Bağlan'a tıklayın. Bağlantı kullanıcı arabirimi (UI) göründükten sonra, yönteminde yer alan kod tarafından zaten bir bağlantı oluşturulduğuna Page_Load dikkat edin. Sonraki bir tarayıcı oturumunda bu sayfaya geri dönerseniz, bu statik bağlantı zaten kurulur ve sayfa her yüklendiğinde yeniden oluşturulması gerekmez.

Açıklamalar

Web Bölümleri bağlantısı her zaman tam olarak iki denetim içerir. Bunlardan biri veri sağlayıcısı, diğeri de verilerin tüketicisi olarak hareket eder. Her denetimin bağlantı noktası olarak tanımlanan bir veya daha fazla yöntemi olmalıdır. Tüketici denetimi söz konusu olduğunda, bağlantı noktaları nesnelerdir ConsumerConnectionPoint . Tüketici bağlantı noktalarının alınması, Web Bölümleri bağlantısı oluşturmada gerekli bir adımdır.

Bir tüketicinin bağlantı kurabilmesi için her zaman en az bir bağlantı noktası olmalıdır. GetConsumerConnectionPoints yöntemi bir tüketici denetimini denetler ve tüm bağlantı noktalarının koleksiyonunu alır. Bir WebPart denetimin bağlantı noktası yoksa yöntemi boş bir koleksiyon döndürür.

Şunlara uygulanır

Ayrıca bkz.