WebPartManager.ConnectWebParts Metoda

Definice

Vytvoří spojení mezi dvěma WebPart ovládacími prvky (nebo jinými serverovými ovládacími prvky schopnými vytvářet připojení), které se nacházejí v WebPartZoneBase zóně.

Přetížení

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Vytvoří spojení mezi dvěma WebPart ovládacími prvky nebo GenericWebPart pomocí pouze odkazů na ovládací prvky a jejich zadané ConnectionPoint objekty.

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

Vytvoří spojení mezi dvěma WebPart ovládacími prvky nebo GenericWebPart pomocí odkazů na ovládací prvky, jejich zadané ConnectionPoint objekty a WebPartTransformer objekt.

Poznámky

Metoda ConnectWebParts vytvoří spojení mezi libovolnými dvěma WebPart ovládacími prvky, které lze připojit. Před voláním této metody pro vytvoření připojení můžete také volat metodu CanConnectWebParts v podmíněné kontrole, abyste se ujistili, že ovládací prvky splňují požadavky na vytvoření připojení.

Poznámka

Je také možné vytvořit připojení mezi dvěma serverovými ovládacími prvky, které nejsou WebPart ovládacími prvky. Obecně platí, že oba ovládací prvky musí být vlastní serverové ovládací prvky (například ovládací prvky, které dědí z WebControl nebo existující ASP.NET serverových ovládacích prvků), abyste mohli přidat požadované členy. Ovládací prvky by také musely splňovat požadavky uvedené níže.

Jakýkoli typ scénáře připojení mezi dvěma ovládacími prvky musí splňovat následující požadavky, aby bylo možné se připojit:

  • Každý ovládací prvek se nachází v WebPartZoneBase zóně (nemusí to být stejná zóna).

  • Jak je implementováno v sadě ovládacích prvků webových částí, ovládací prvek zprostředkovatele v připojení implementuje rozhraní jako veřejnou metodu, která slouží jako zpětné volání zprostředkovatele a má ConnectionProvider atribut metadat v metodě, který ho identifikuje jako spojovací bod zprostředkovatele. Vzhledem k GetProviderConnectionPoints tomu, že metoda, která načítá spojovací body zprostředkovatele, je virtuální, nemusí odvozený WebPartManager ovládací prvek nutně používat stejný atribut metadat.

  • Jak je implementováno v sadě ovládacích prvků webových částí, má ovládací prvek příjemce v připojení také speciální metodu, která mu umožňuje získat odkaz na rozhraní, které je vystaveno v metodě zpětného volání zprostředkovatele, a příjemce má ConnectionConsumer atribut metadat v metodě, který ho identifikuje jako spojovací bod příjemce. Vzhledem k GetConsumerConnectionPoints tomu, že metoda, která načítá spojovací body příjemce, je virtuální, nemusí odvozený WebPartManager ovládací prvek nutně používat stejný atribut metadat.

  • Metody zpětného volání musí být buď kompatibilní v tom smyslu, že příjemce může použít typ rozhraní zadaný v metodě zpětného volání zprostředkovatele (to znamená, že příjemce a zprostředkovatel mohou sdílet data přímo), nebo musí vývojář použít WebPartTransformer objekt k transformaci dat od zprostředkovatele do podoby, kterou může příjemce použít.

    Důležité

    Pokud nepotřebujete transformátor, použijte ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) přetížení metody. Pokud potřebujete transformátor, použijte ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) přetížení metody.

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Vytvoří spojení mezi dvěma WebPart ovládacími prvky nebo GenericWebPart pomocí pouze odkazů na ovládací prvky a jejich zadané ConnectionPoint objekty.

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

Parametry

provider
WebPart

Ovládací WebPart prvek, který má roli přiřazovací data jinému připojenému ovládacímu prvku.

providerConnectionPoint
ProviderConnectionPoint

Metoda, která slouží jako metoda zpětného volání pro připojení. Jak je implementováno v sadě ovládacích prvků webových částí, jedná se o veřejnou metodu, provider která je označena atributem ConnectionProvider metadat.

consumer
WebPart

Ovládací WebPart prvek, který má roli přijímat data z providera pak je zpracovávat nebo zobrazovat.

consumerConnectionPoint
ConsumerConnectionPoint

Metoda, která se připojuje providerConnectionPoint k připojení a přijímá data pro připojení. Jak je implementováno v sadě ovládacích prvků webových částí, jedná se o veřejnou metodu, consumer která je označena atributem ConnectionConsumer metadat.

Návraty

A WebPartConnection obsahující různé informace o poskytovateli a příjemci potřebném pro připojení.

Výjimky

Kolekce WebPartManager dynamických kolekcí ovládacího prvku je jen pro čtení.

Příklady

Následující příklad kódu ukazuje, jak použít tuto metodu k programovému vytvoření připojení. Úplný kód potřebný ke spuštění příkladu najdete v části Příklad v přehledu WebPartManager třídy. V tomto příkladu budete potřebovat zdrojový kód pro uživatelský ovládací prvek, který vám umožní změnit režimy zobrazení na stránce, a zdrojový kód pro dva vlastní WebPart ovládací prvky.

Následuje kód webové stránky, která je hostitelem těchto dvou ovládacích prvků. Stránka používá Register direktivy v horní části k deklaraci uživatelského ovládacího prvku a vlastních ovládacích prvků. Vlastní ovládací prvky jsou pak deklarativně odkazovány v rámci elementu <asp:webpartzone> . Kód, který zpracovává metodu Button1_Click , vytvoří spojení mezi ovládacími prvky pomocí ConnectWebParts metody .

<%@ 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>

Po načtení stránky v prohlížeči kliknutím na tlačítko Připojit ovládací prvky webové části vytvořte připojení. Potom můžete do textového pole zadat nějaká data a kliknutím na tlačítko Zadat 5místné PSČ předvedete, že ovládací prvky jsou propojené a že data zadaná v prvním ovládacím prvku se aktualizují ve druhém.

Poznámky

Toto přetížení se používá k připojení ovládacích prvků, pokud jsou jejich spojovací body natolik kompatibilní, aby se mohly připojit bez použití objektu WebPartTransformer . Při volání tohoto přetížení metody jednoduše předá volání do jiné přetížené verze metody a předá null parametr, který vyžaduje WebPartTransformer objekt.

Při pokusu o připojení dvou ovládacích prvků prostřednictvím kódu programu můžete použít metodu CanConnectWebParts v podmíněné kontrole k určení, zda lze ovládací prvky přímo připojit.

Viz také

Platí pro

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

Vytvoří spojení mezi dvěma WebPart ovládacími prvky nebo GenericWebPart pomocí odkazů na ovládací prvky, jejich zadané ConnectionPoint objekty a WebPartTransformer objekt.

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

Parametry

provider
WebPart

Objekt WebPart , který má za úlohu poskytnutí dat jinému připojenému ovládacímu prvku.

providerConnectionPoint
ProviderConnectionPoint

Veřejná metoda v provider systému, která je označena atributem ConnectionProvider metadat a slouží jako metoda zpětného volání pro připojení.

consumer
WebPart

A WebPart , který má roli přijímat data z provider nebo transformera pak je zpracovávat nebo zobrazovat.

consumerConnectionPoint
ConsumerConnectionPoint

Veřejná metoda, consumer která je označena atributem ConnectionConsumer metadat a připojuje se providerConnectionPoint k, aby získala data pro připojení.

transformer
WebPartTransformer

A WebPartTransformer , který umožňuje spojení mezi dvěma ovládacími prvky převodem dat z provider do formátu, který consumer může zpracovávat.

Návraty

A WebPartConnection obsahující informace o poskytovateli, příjemci a transformátoru potřebné pro připojení.

Výjimky

Připojení už jsou aktivovaná v nástroji PreRender.

Poznámky

Toto přetížení se používá k připojení ovládacích prvků, když jsou jejich spojovací body nekompatibilní. K nekompatibilitě dochází při consumer implementaci jiného rozhraní, než provider je jeho spojovací bod. Transformátor převede data na typ, který lze pochopit pomocí consumer.

Viz také

Platí pro