WebPartManager.ConnectWebParts Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 provider
a 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é
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- ASP.NET ovládací prvky webových částí
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 transformer
a 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é
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- WebPartTransformer
- ASP.NET ovládací prvky webových částí