WebPartManager.StaticConnections Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает ссылку на коллекцию всех объектов WebPartConnection на веб-странице, которые определены как статические подключения.
public:
property System::Web::UI::WebControls::WebParts::WebPartConnectionCollection ^ StaticConnections { System::Web::UI::WebControls::WebParts::WebPartConnectionCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.WebParts.WebPartConnectionCollection StaticConnections { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.StaticConnections : System.Web.UI.WebControls.WebParts.WebPartConnectionCollection
Public ReadOnly Property StaticConnections As WebPartConnectionCollection
Значение свойства
Коллекция WebPartConnectionCollection, которая содержит все статические подключения на странице.
- Атрибуты
Примеры
В следующем примере кода показано программное использование StaticConnections свойства .
Пример кода состоит из четырех частей:
Пользовательский элемент управления, позволяющий изменять режимы отображения на странице веб-частей.
Файл исходного кода, содержащий два пользовательских WebPart элемента управления и пользовательский интерфейс.
Веб-страница, содержащая два настраиваемых WebPart элемента управления, которые можно подключить, и
<asp:webpartmanager>
элемент .Описание работы примера в браузере.
Следующий код содержит только часть веб-страницы примера. Вам также потребуется получить первые две части примера — пользовательский пользовательский элемент управления и исходный код для пользовательских элементов управления и интерфейса — из раздела WebPartManager Пример обзора класса. В этом разделе также описываются варианты компиляции WebPart элементов управления.
Третья часть примера кода — веб-страница. Декларативная разметка страницы содержит директивы Register
как для пользовательского, так и для пользовательских элементов управления. Существует <asp:webpartmanager>
элемент , элемент , <asp:webpartzone>
содержащий пользовательские элементы управления, и <asp:connectionszone>
элемент . Обратите внимание, что в методе Page_Load
код проверяет, существует ли подключение, и, если нет, определяет поставщика, потребителя и соответствующие точки подключения, а затем добавляет новое подключение к набору статических подключений, на которые ссылается StaticConnections свойство .
<%@ 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>
Загрузив веб-страницу в браузере, щелкните раскрывающийся список Режим отображения и выберите Подключить , чтобы переключить страницу в режим подключения. В режиме <asp:connectionszone>
подключения элемент используется для создания соединений между элементами управления. В режиме подключения щелкните стрелку вниз в заголовке окна элемента управления Почтовый индекс , чтобы активировать меню команд, а затем выберите подключиться. После появления пользовательского интерфейса подключения обратите внимание, что подключение уже создано кодом, содержащимся в методе Page_Load
. Если вернуться на эту страницу в более позднем сеансе браузера, это статическое подключение уже будет установлено и не потребуется повторно создавать при каждой загрузке страницы.
Комментарии
Свойство StaticConnections используется элементом управления для отслеживания WebPartManager всех статических подключений на странице и управления ими. Статическое соединение, в отличие от динамического, не требуется добавлять на страницу при каждом отображении страницы.
Коллекция, на которую ссылается это свойство, содержит все статические подключения, существующие на странице, независимо от того, созданы ли они программным способом или заданы с помощью <asp:webpartconnection>
элемента в разметке страницы.