WebPartManager.GetProviderConnectionPoints(WebPart) Yöntem

Tanım

bir Web Bölümleri bağlantı içinde sağlayıcı olarak davranan bir sunucu denetiminden bağlantı noktası olarak davranabilen nesnelerin 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

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ü 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ü 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> öğesi, özel denetimleri içeren bir <asp:webpartzone> öğesi ve bir <asp:connectionszone> öğesi vardır. yönteminde Page_Load kodun bir bağlantının zaten var olup olmadığını denetlediğine ve yoksa bir sağlayıcıyı, tüketiciyi ve ilgili bağlantı noktalarını tanımladığına dikkat edin ve ardından özelliği tarafından StaticConnections başvuruda bulunilen statik bağlantılar kümesine yeni bir bağlantı ekler. ProviderConnectionPointCollection Yöntemi kullanılarak GetProviderConnectionPoints alınan nesnenin daha sonra iki denetim arasında bir 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ğlan 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 sonra da Bağlan'e 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

bir Web Bölümleri bağlantısı her zaman tam olarak iki denetim içerir: biri veri sağlayıcısı, diğeri veri 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ı oluşturmada gerekli bir adımdır.

Şunlara uygulanır

Ayrıca bkz.