Aracılığıyla paylaş


WebPartManager.GetProviderConnectionPoints(WebPart) Yöntem

Tanım

Web Bölümleri bağlantısı içinde sağlayıcı olarak davranan bir sunucu denetiminden bağlantı noktası olarak davranabilen nesne koleksiyonunu ProviderConnectionPoint alır.

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

Parametreler

webPart
WebPart

Bir bağlantıda sağlayıcı olarak davranan bir sunucu denetimi.

Döndürülenler

ProviderConnectionPointCollection Sağlayıcıdaki 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 GetProviderConnectionPoints .

Örnekte 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 bkz. İzlenecek Yol: Web Bölümleri Sayfasında Görüntüleme Modlarını Değiştirme.

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. ProviderConnectionPointCollection Yöntemi kullanılarak GetProviderConnectionPoints 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. Sağlayıcı denetimi söz konusu olduğunda, bağlantı noktaları nesnelerdir ProviderConnectionPoint .

Bir sağlayıcının bağlantı kurabilmesi için her zaman en az bir bağlantı noktası olmalıdır. GetProviderConnectionPoints yöntemi bir sağlayıcı denetimini denetler ve tüm bağlantı noktalarının koleksiyonunu alır. Sağlayıcı bağlantı noktalarının alınması, Web Bölümleri bağlantısı oluşturmada gerekli bir adımdır.

Şunlara uygulanır

Ayrıca bkz.