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 ovládacími prvky serveru umožňující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í 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 vytváří spojení mezi libovolnými dvěma WebPart ovládacími prvky, které lze připojit. Před voláním této metody k 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 pro 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 tyto dva 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 ovládací prvky serveru), aby bylo možné přidat požadované členy. Ovládací prvky by také musely splňovat níže uvedené požadavky.
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ý ji 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 metadata v metodě, který ji identifikuje jako bod připojení příjemce. Vzhledem k GetConsumerConnectionPoints tomu, že metoda, která načítá body připojení příjemce, je virtuální, odvozený WebPartManager ovládací prvek nemusí nutně používat stejný atribut metadat.Metody zpětného volání musí být buď kompatibilní v tom, že příjemce může použít typ rozhraní zadaného metodou 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í 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 poskytnutí dat 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é části, jedná se o veřejnou metodu v 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řipojí providerConnectionPoint
k , aby získala data pro připojení. Jak je implementováno v sadě ovládacích prvků webové části, jedná se o veřejnou metodu v consumer
, která je označena atributem ConnectionConsumer
metadat.
Návraty
A WebPartConnection , který obsahuje různé informace o poskytovateli a příjemci potřebné 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 přehledu WebPartManager třídy. V tomto příkladu budete potřebovat zdrojový kód pro uživatelský ovládací prvek, který umožňuje 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 poté odkazovány deklarativně 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ých částí 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Č demonstrovat, ž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í druhé přetížené verze metody a předá null
parametr, který vyžaduje WebPartTransformer objekt.
Když se pokusíte připojit dva ovládací prvky programově, můžete pomocí CanConnectWebParts metody v podmíněné kontrole určit, zda lze ovládací prvky připojit přímo.
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
- providerConnectionPoint
- ProviderConnectionPoint
Veřejná metoda v provider
nástroji, 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 v consumer
nástroji, 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 zpracovat.
Návraty
A WebPartConnection , který obsahuje informace o poskytovateli, spotřebiteli a transformátoru potřebné pro připojení.
Výjimky
Připojení již byla aktivována 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í
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro