WebPartManager.GetConsumerConnectionPoints(WebPart) 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í.
Načte kolekci ConsumerConnectionPoint objektů, které mohou fungovat jako spojovací body z ovládacího prvku serveru, který funguje jako příjemce v rámci připojení Webové části.
public:
virtual System::Web::UI::WebControls::WebParts::ConsumerConnectionPointCollection ^ GetConsumerConnectionPoints(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
public virtual System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection GetConsumerConnectionPoints (System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member GetConsumerConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection
override this.GetConsumerConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection
Public Overridable Function GetConsumerConnectionPoints (webPart As WebPart) As ConsumerConnectionPointCollection
Parametry
- webPart
- WebPart
Serverový ovládací prvek, který funguje jako příjemce v připojení.
Návraty
A ConsumerConnectionPointCollection , který obsahuje všechny spojovací body příjemce.
Výjimky
webPart
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít metodu GetConsumerConnectionPoints .
Příklad kódu má čtyři části:
Uživatelský ovládací prvek, který umožňuje změnit režimy zobrazení na Webové části stránce.
Webová stránka, která obsahuje dva vlastní WebPart ovládací prvky, které lze připojit, a
<asp:webpartmanager>
prvek.Zdrojový soubor kódu, který obsahuje dva vlastní WebPart ovládací prvky a vlastní rozhraní.
Vysvětlení toho, jak příklad funguje v prohlížeči
První část příkladu kódu je uživatelský ovládací prvek pro změnu režimů zobrazení. Zdrojový kód uživatelského ovládacího prvku můžete získat z části Příklad přehledu WebPartManager třídy. Další informace o režimech zobrazení a fungování uživatelského ovládacího prvku najdete v tématu Návod: Změna režimů zobrazení na Webové části stránce.
Deklarativní kód webové stránky obsahuje Register
direktivy pro uživatelský ovládací prvek i vlastní ovládací prvky. Existuje prvek <asp:webpartmanager>
, prvek, <asp:webpartzone>
který má obsahovat vlastní ovládací prvky a <asp:connectionszone>
element. Všimněte si, že v Page_Load
metodě kód zkontroluje, jestli připojení již existuje, a pokud ne, definuje zprostředkovatele, příjemce a příslušné spojovací body a pak přidá nové připojení k sadě statických připojení odkazovaných vlastností StaticConnections . Všimněte si, že ConsumerConnectionPointCollection objekt, který se načte pomocí GetConsumerConnectionPoints metody, se pak předá CanConnectWebParts metodě a určí, zda lze vytvořit spojení mezi těmito dvěma ovládacími prvky.
<%@ 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>
Třetí část příkladu je zdrojový kód ovládacích prvků. Tento kód můžete získat a pokyny pro jeho kompilaci v části Příklad přehledu WebPartManager třídy.
Po načtení webové stránky v prohlížeči klikněte na ovládací prvek rozevíracího seznamu Režim zobrazení a výběrem Připojení přepněte stránku do režimu připojení. Připojení režim používá <asp:connectionszone>
prvek, který umožňuje vytvářet připojení mezi ovládacími prvky. V režimu připojení klikněte na šipku dolů v záhlaví ovládacího prvku PSČ a aktivujte jeho nabídku sloves a potom klikněte na Připojení. Po zobrazení uživatelského rozhraní připojení si všimněte, že připojení již bylo vytvořeno kódem obsaženým Page_Load
v metodě. Pokud se vrátíte na tuto stránku v pozdější relaci prohlížeče, bude už toto statické připojení vytvořeno a při každém načtení stránky se nebude muset znovu vytvořit.
Poznámky
Připojení Webové části vždy zahrnuje přesně dva ovládací prvky, které fungují jako poskytovatel dat, druhý jako příjemce dat. Každý ovládací prvek musí mít jednu nebo více metod, které jsou definovány jako spojovací body. V případě ovládacího prvku příjemce jsou ConsumerConnectionPoint jeho spojovací body objekty. Načtení spojovacích bodů příjemce je nezbytným krokem při vytvoření Webové části připojení.
Aby bylo možné navázat připojení, musí mít příjemce vždy alespoň jeden spojovací bod. Metoda GetConsumerConnectionPoints kontroluje kontrolu příjemce a načte kolekci všech jejích spojovacích bodů. WebPart Pokud ovládací prvek nemá žádné spojovací body, vrátí metoda prázdnou kolekci.