WebPartManager.ConnectWebParts Yöntem

Tanım

Bir bölgede bulunan iki WebPart denetim (veya bağlantı oluşturabilen diğer sunucu denetimleri) arasında bir WebPartZoneBase bağlantı oluşturur.

Aşırı Yüklemeler

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Yalnızca denetimlere ve belirtilen ConnectionPoint nesnelerine yapılan başvuruları kullanarak iki WebPart veya GenericWebPart denetim arasında bir bağlantı oluşturur.

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)

Denetimlere, belirtilen ConnectionPoint nesnelerine ve bir nesneye yapılan başvuruları kullanarak iki WebPart veya GenericWebPart denetim arasında bir WebPartTransformer bağlantı oluşturur.

Açıklamalar

yöntemi, ConnectWebParts bağlanabilen iki WebPart denetim arasında bir bağlantı oluşturur. Bağlantı oluşturmak için bu yöntemi çağırmadan önce, denetimlerin CanConnectWebParts bağlantı oluşturma gereksinimlerini karşıladığından emin olmak için koşullu denetimde yöntemini çağırmak da isteyebilirsiniz.

Not

Denetim olmayan WebPart iki sunucu denetimi arasında bağlantı oluşturmak da mümkündür. Genel olarak, gerekli üyeleri ekleyebilmeniz için iki denetimin özel sunucu denetimleri (örneğin, ASP.NET sunucu denetimlerinden WebControl devralan denetimler) olması gerekir. Denetimlerin ayrıca aşağıda belirtilen gereksinimleri karşılaması gerekir.

İki denetim arasındaki her tür bağlantı senaryosunun bağlanabilmek için aşağıdaki gereksinimleri karşılaması gerekir:

  • Her denetim bir WebPartZoneBase bölgede bulunur (aynı bölge olması gerekmez).

  • Web Bölümleri denetim kümesinde uygulandığı gibi, bir bağlantıdaki sağlayıcı denetimi, sağlayıcıya geri çağırma görevi veren ve bunu sağlayıcı bağlantı noktası olarak tanımlamak için yönteminde meta ConnectionProvider veri özniteliğine sahip bir ortak yöntem olarak bir arabirim uygular. GetProviderConnectionPoints Sağlayıcı bağlantı noktalarını alan yöntem sanal olduğundan, türetilmiş WebPartManager bir denetimin aynı meta veri özniteliğini kullanması gerekmez.

  • Web Bölümleri denetim kümesinde uygulandığı gibi, bir bağlantıdaki tüketici denetiminin ayrıca sağlayıcının geri çağırma yönteminde kullanıma sunulan arabirime başvuru almasına olanak tanıyan özel bir yöntemi vardır ve tüketicinin bunu bir tüketici bağlantı noktası olarak tanımlamak için yönteminde meta ConnectionConsumer veri özniteliği vardır. GetConsumerConnectionPoints Tüketici bağlantı noktalarını alan yöntem sanal olduğundan, türetilmiş WebPartManager bir denetimin aynı meta veri özniteliğini kullanması gerekmez.

  • Geri çağırma yöntemleri, tüketicinin sağlayıcının geri çağırma yönteminde sağlanan arabirim türünü kullanabilmesi (tüketicinin ve sağlayıcının verileri doğrudan paylaşabileceği anlamına gelir) veya geliştiricinin sağlayıcıdan gelen verileri tüketicinin kullanabileceği bir biçime dönüştürmek için bir WebPartTransformer nesnesi kullanması gerekir.

    Önemli

    Transformatöre ihtiyacınız olmadığında yöntem aşırı yüklemesini ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) kullanın. Transformatöre ihtiyacınız olduğunda yöntem aşırı yüklemesini ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) kullanın.

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Yalnızca denetimlere ve belirtilen ConnectionPoint nesnelerine yapılan başvuruları kullanarak iki WebPart veya GenericWebPart denetim arasında bir bağlantı oluşturur.

public:
 System::Web::UI::WebControls::WebParts::WebPartConnection ^ ConnectWebParts(System::Web::UI::WebControls::WebParts::WebPart ^ provider, System::Web::UI::WebControls::WebParts::ProviderConnectionPoint ^ providerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPart ^ consumer, System::Web::UI::WebControls::WebParts::ConsumerConnectionPoint ^ consumerConnectionPoint);
public System.Web.UI.WebControls.WebParts.WebPartConnection ConnectWebParts (System.Web.UI.WebControls.WebParts.WebPart provider, System.Web.UI.WebControls.WebParts.ProviderConnectionPoint providerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPart consumer, System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint consumerConnectionPoint);
member this.ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint -> System.Web.UI.WebControls.WebParts.WebPartConnection
Public Function ConnectWebParts (provider As WebPart, providerConnectionPoint As ProviderConnectionPoint, consumer As WebPart, consumerConnectionPoint As ConsumerConnectionPoint) As WebPartConnection

Parametreler

provider
WebPart

Verileri WebPart başka bir bağlı denetime sağlama rolüne sahip bir denetim.

providerConnectionPoint
ProviderConnectionPoint

Bağlantı için geri çağırma yöntemi olarak hizmet veren bir yöntem. Web Bölümleri denetim kümesinde uygulandığı gibi, bu içinde meta veri özniteliğiyle işaretlenmiş genel bir ConnectionProvider yöntemdirprovider.

consumer
WebPart

WebPart'den providerveri alma ve sonra verileri işleme veya görüntüleme rolüne sahip bir denetim.

consumerConnectionPoint
ConsumerConnectionPoint

Bağlantının verilerini almak için ile providerConnectionPoint bağlanan bir yöntem. Web Bölümleri denetim kümesinde uygulandığı gibi, bu içinde meta veri özniteliğiyle işaretlenmiş genel bir ConnectionConsumer yöntemdirconsumer.

Döndürülenler

Bağlantı WebPartConnection için gereken sağlayıcı ve tüketici hakkında çeşitli bilgileri içeren bir.

Özel durumlar

Denetimin WebPartManager dinamik koleksiyon koleksiyonu salt okunurdur.

Örnekler

Aşağıdaki kod örneği, program aracılığıyla bağlantı oluşturmak için bu yöntemin nasıl kullanılacağını gösterir. Örneği çalıştırmak için gereken kodun tamamı için, sınıfa genel bakışın WebPartManager Örnek bölümüne bakın. Bu örnekte, sayfadaki görüntü modlarını değiştirmenize olanak tanıyan kullanıcı denetimi için kaynak koduna ve iki özel WebPart denetimin kaynak koduna ihtiyacınız olacaktır.

İki denetimi barındıran Web sayfasının kodu aşağıdadır. Sayfa Register , üst kısımdaki yönergeleri kullanarak kullanıcı denetimini ve özel denetimleri bildirir. Özel denetimlere daha sonra bir <asp:webpartzone> öğe içinde bildirim temelli olarak başvurulur. yöntemini işleyen Button1_Click kod, yöntemini kullanarak ConnectWebParts denetimler arasında bir bağlantı oluşturur.

<%@ 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 Button1_Click(object sender, EventArgs e)
  {
    ProviderConnectionPoint provPoint = 
      mgr.GetProviderConnectionPoints(zip1)["ZipCodeProvider"];
    ConsumerConnectionPoint connPoint = 
      mgr.GetConsumerConnectionPoints(weather1)["ZipCodeConsumer"];
    WebPartConnection conn1 = mgr.ConnectWebParts(zip1, provPoint,
      weather1, connPoint);
  }

  protected void mgr_DisplayModeChanged(object sender, 
    WebPartDisplayModeEventArgs e)
  {
    if (mgr.DisplayMode == WebPartManager.ConnectDisplayMode)
      Button1.Visible = true;
    else
      Button1.Visible = false;
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server" 
    OnDisplayModeChanged="mgr_DisplayModeChanged">
      </asp:WebPartManager>
      <uc1:DisplayModeMenuCS ID="menu1" runat="server" />
      <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>
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
      </asp:ConnectionsZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Connect WebPart Controls" 
        OnClick="Button1_Click" 
    Visible="false" />
    </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 Button1_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    Dim provPoint As ProviderConnectionPoint = _
      mgr.GetProviderConnectionPoints(zip1)("ZipCodeProvider")
    Dim connPoint As ConsumerConnectionPoint = _
      mgr.GetConsumerConnectionPoints(weather1)("ZipCodeConsumer")
    mgr.ConnectWebParts(zip1, provPoint, weather1, connPoint)

  End Sub

  Protected Sub mgr_DisplayModeChanged (ByVal sender as Object, _
    ByVal e as WebPartDisplayModeEventArgs)

    If mgr.DisplayMode is WebPartManager.ConnectDisplayMode Then
    Button1.Visible = True
    Else
    Button1.Visible = False
    End If

  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server" 
    OnDisplayModeChanged="mgr_DisplayModeChanged">
      </asp:WebPartManager>
      <uc1:DisplayModeMenuVB ID="menu1" runat="server" />
      <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>
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
      </asp:ConnectionsZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Connect WebPart Controls" 
        OnClick="Button1_Click" 
    Visible="false" />
    </div>
    </form>
</body>
</html>

Sayfayı bir tarayıcıya yükledikten sonra, bağlantıyı oluşturmak için Web Bölümü Denetimlerine Bağlan düğmesine tıklayın. Ardından metin kutusuna bazı veriler girebilir ve Denetimlerin bağlı olduğunu ve ilk denetime girilen verilerin ikincisinde güncelleştirildiğini göstermek için 5 basamaklı Posta Kodu Gir düğmesine tıklayabilirsiniz.

Açıklamalar

Bu aşırı yükleme, bağlantı noktaları nesne kullanmadan WebPartTransformer bağlanabilecekleri kadar uyumlu olduğunda denetimleri bağlamak için kullanılır. Yöntemin bu aşırı yüklemesi çağrıldığında, çağrıyı yöntemin diğer aşırı yüklenmiş sürümüne geçirir ve bir WebPartTransformer nesnesi gerektiren parametre için geçirirnull.

İki denetimi program aracılığıyla bağlamayı denediğinizde, denetimlerin CanConnectWebParts doğrudan bağlanıp bağlanamayacağını belirlemek için koşullu denetimde yöntemini kullanabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)

Denetimlere, belirtilen ConnectionPoint nesnelerine ve bir nesneye yapılan başvuruları kullanarak iki WebPart veya GenericWebPart denetim arasında bir WebPartTransformer bağlantı oluşturur.

public:
 virtual System::Web::UI::WebControls::WebParts::WebPartConnection ^ ConnectWebParts(System::Web::UI::WebControls::WebParts::WebPart ^ provider, System::Web::UI::WebControls::WebParts::ProviderConnectionPoint ^ providerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPart ^ consumer, System::Web::UI::WebControls::WebParts::ConsumerConnectionPoint ^ consumerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPartTransformer ^ transformer);
public virtual System.Web.UI.WebControls.WebParts.WebPartConnection ConnectWebParts (System.Web.UI.WebControls.WebParts.WebPart provider, System.Web.UI.WebControls.WebParts.ProviderConnectionPoint providerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPart consumer, System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint consumerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPartTransformer transformer);
abstract member ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint * System.Web.UI.WebControls.WebParts.WebPartTransformer -> System.Web.UI.WebControls.WebParts.WebPartConnection
override this.ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint * System.Web.UI.WebControls.WebParts.WebPartTransformer -> System.Web.UI.WebControls.WebParts.WebPartConnection
Public Overridable Function ConnectWebParts (provider As WebPart, providerConnectionPoint As ProviderConnectionPoint, consumer As WebPart, consumerConnectionPoint As ConsumerConnectionPoint, transformer As WebPartTransformer) As WebPartConnection

Parametreler

provider
WebPart

WebPart Verileri başka bir bağlı denetime sağlama rolüne sahip olan bir.

providerConnectionPoint
ProviderConnectionPoint

içindeki provider bir ConnectionProvider meta veri özniteliğiyle işaretlenen ve bağlantı için bir geri çağırma yöntemi olarak hizmet veren genel bir yöntem.

consumer
WebPart

WebPart veya transformer'den provider veri alma ve ardından verileri işleme veya görüntüleme rolüne sahip olan bir.

consumerConnectionPoint
ConsumerConnectionPoint

içindeki consumer bir meta veri özniteliğiyle işaretlenmiş ve bağlantının verilerini almak için ile providerConnectionPoint bağlanan genel bir ConnectionConsumer yöntem.

transformer
WebPartTransformer

WebPartTransformer verileri provider işleyebilen bir biçime consumer dönüştürerek iki denetim arasında bağlantı sağlayan bir.

Döndürülenler

Bağlantı WebPartConnection için gereken sağlayıcı, tüketici ve transformatör hakkındaki bilgileri içeren.

Özel durumlar

Bağlantılar içinde zaten etkinleştirildi PreRender.

Açıklamalar

Bu aşırı yükleme, bağlantı noktaları uyumsuz olduğunda denetimleri bağlamak için kullanılır. Uyumsuzluk, bağlantı noktası olarak farklı bir arabirim provider uygulandığında consumer oluşur. Transformatör, verileri tarafından consumeranlaşılacak bir türe dönüştürür.

Ayrıca bkz.

Şunlara uygulanır