WebPartManager.ConnectWebParts 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
WebPart 영역에 있는 두 WebPartZoneBase 컨트롤(또는 연결을 설정할 수 있는 다른 서버 컨트롤) 간의 연결을 만듭니다.
오버로드
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) |
두 개의 WebPart 또는 GenericWebPart 컨트롤에 대한 참조와 각 컨트롤의 지정된 ConnectionPoint 개체만 사용하여 두 컨트롤 간의 연결을 만듭니다. |
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) |
두 개의 WebPart 또는 GenericWebPart 컨트롤에 대한 참조와 각 컨트롤의 지정된 ConnectionPoint 개체, 그리고 WebPartTransformer 개체를 사용하여 두 컨트롤 간의 연결을 만듭니다. |
설명
메서드는 ConnectWebParts 연결할 수 있는 두 WebPart 컨트롤 간의 연결을 형성합니다. 이 메서드를 호출하여 연결을 만들기 전에 조건부 검사에서 메서드를 호출 CanConnectWebParts 하여 컨트롤이 연결 형성 요구 사항을 충족하는지 확인할 수도 있습니다.
참고
컨트롤이 아닌 WebPart 두 서버 컨트롤 간에 연결을 만들 수도 있습니다. 일반적으로 두 컨트롤은 필요한 멤버를 추가할 수 있도록 사용자 지정 서버 컨트롤(예: 기존 ASP.NET 서버 컨트롤에서 WebControl 상속되는 컨트롤)이어야 합니다. 또한 컨트롤은 아래에 지정된 요구 사항을 충족해야 합니다.
두 컨트롤 간의 모든 유형의 연결 시나리오는 연결할 수 있도록 다음 요구 사항을 충족해야 합니다.
각 컨트롤은 영역에 상주합니다 WebPartZoneBase (동일한 영역일 필요는 없음).
웹 파트 컨트롤 집합에서 구현된 대로 연결의 공급자 컨트롤은 공급자에 대한 콜백 역할을 하는 공용 메서드로 인터페이스를 구현하고
ConnectionProvider
메서드에 메타데이터 특성을 사용하여 공급자 연결 지점으로 식별합니다. GetProviderConnectionPoints 공급자 연결 지점을 검색하는 메서드는 가상이므로 파생된 컨트롤이 WebPartManager 반드시 동일한 메타데이터 특성을 사용할 필요는 없습니다.웹 파트 컨트롤 집합에서 구현된 대로 연결의 소비자 컨트롤에는 공급자의 콜백 메서드에 노출되는 인터페이스에 대한 참조를 가져올 수 있는 특수 메서드도 있으며 소비자는 메서드에 메타데이터 특성을 사용하여
ConnectionConsumer
이를 소비자 연결 지점으로 식별합니다. GetConsumerConnectionPoints 소비자 연결 지점을 검색하는 메서드는 가상이므로 파생된 컨트롤이 WebPartManager 반드시 동일한 메타데이터 특성을 사용할 필요는 없습니다.소비자가 공급자의 콜백 메서드에 제공된 인터페이스 형식(소비자와 공급자가 직접 데이터를 공유할 수 있음)을 사용하거나 개발자가 개체를 사용하여 WebPartTransformer 공급자의 데이터를 소비자가 사용할 수 있는 양식으로 변환해야 하므로 콜백 메서드는 호환되어야 합니다.
중요
변환기가 필요하지 않은 경우 메서드 오버로드를 ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) 사용합니다. 변환기가 필요한 경우 메서드 오버로드를 ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) 사용합니다.
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)
두 개의 WebPart 또는 GenericWebPart 컨트롤에 대한 참조와 각 컨트롤의 지정된 ConnectionPoint 개체만 사용하여 두 컨트롤 간의 연결을 만듭니다.
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
매개 변수
- providerConnectionPoint
- ProviderConnectionPoint
연결에서 콜백 메서드로 사용되는 메서드입니다. 웹 파트 컨트롤 집합에서 구현될 때 이 메서드는 provider
에서 ConnectionProvider
메타데이터 특성으로 표시되는 공용 메서드입니다.
- consumerConnectionPoint
- ConsumerConnectionPoint
providerConnectionPoint
와 연결하여 연결에 대한 데이터를 받는 메서드입니다. 웹 파트 컨트롤 집합에서 구현될 때 이 메서드는 consumer
에서 ConnectionConsumer
메타데이터 특성으로 표시되는 공용 메서드입니다.
반환
연결에 필요한 공급자 및 소비자에 대한 다양한 정보가 들어 있는 WebPartConnection입니다.
예외
WebPartManager 컨트롤의 동적 연결 컬렉션이 읽기 전용인 경우
예제
다음 코드 예제에서는 이 메서드를 사용하여 프로그래밍 방식으로 연결을 만드는 방법을 보여 줍니다. 예제를 실행 하는 데 필요한 전체 코드의 예제 섹션을 참조 하세요.를 WebPartManager 클래스 개요입니다. 이 예제에서는 페이지의 표시 모드를 변경할 수 있는 사용자 정의 컨트롤의 소스 코드와 두 사용자 지정 WebPart 컨트롤에 대한 소스 코드가 필요합니다.
두 컨트롤을 호스트하는 웹 페이지의 코드는 다음과 같습니다. 페이지는 맨 위에 있는 지시문을 사용하여 Register
사용자 정의 컨트롤과 사용자 지정 컨트롤을 선언합니다. 그런 다음 사용자 지정 컨트롤은 요소 내에서 <asp:webpartzone>
선언적으로 참조됩니다. 메서드를 Button1_Click
처리하는 코드는 메서드를 사용하여 ConnectWebParts 컨트롤 간에 연결을 만듭니다.
<%@ 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>
브라우저에서 페이지를 로드한 후 WebPart 컨트롤 연결 단추를 클릭하여 연결을 형성합니다. 그런 다음 텍스트 상자에 일부 데이터를 입력하고 5자리 우편 번호 입력 단추를 클릭하여 컨트롤이 연결되어 있고 첫 번째 컨트롤에 입력한 데이터가 두 번째 컨트롤에서 업데이트되었음을 보여 줄 수 있습니다.
설명
이 오버로드는 연결 지점이 개체를 사용하지 않고 연결할 수 있을 정도로 호환되는 경우 컨트롤을 WebPartTransformer 연결하는 데 사용됩니다. 메서드의 이 오버로드가 호출되면 호출을 메서드의 다른 오버로드 버전으로 전달하고 개체가 필요한 매개 변수에 대해 전달 null
합니다 WebPartTransformer .
프로그래밍 방식으로 두 컨트롤을 연결하려고 하면 조건부 검사에서 메서드를 사용하여 CanConnectWebParts 컨트롤을 직접 연결할 수 있는지 여부를 확인할 수 있습니다.
추가 정보
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- ASP.NET 웹 파트 컨트롤
적용 대상
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)
두 개의 WebPart 또는 GenericWebPart 컨트롤에 대한 참조와 각 컨트롤의 지정된 ConnectionPoint 개체, 그리고 WebPartTransformer 개체를 사용하여 두 컨트롤 간의 연결을 만듭니다.
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
매개 변수
- providerConnectionPoint
- ProviderConnectionPoint
provider
의 공용 메서드로, ConnectionProvider
메타데이터 특성으로 표시되며 연결의 콜백 메서드로 사용됩니다.
- consumerConnectionPoint
- ConsumerConnectionPoint
consumer
의 공용 메서드로, ConnectionConsumer
메타데이터 특성으로 표시되며 providerConnectionPoint
와 연결되어 연결의 데이터를 받습니다.
- transformer
- WebPartTransformer
provider
의 데이터를 consumer
가 처리할 수 있는 형식으로 변환하여 두 컨트롤 간을 연결할 수 있게 해 주는 WebPartTransformer입니다.
반환
연결에 필요한 공급자, 소비자 및 변환기에 대한 다양한 정보가 들어 있는 WebPartConnection입니다.
예외
연결이 이미 PreRender에서 활성화된 경우
설명
이 오버로드는 연결 지점이 호환되지 않는 경우 컨트롤을 연결하는 데 사용됩니다. 비호환성은 연결 지점과 다른 인터페이스 provider
를 구현할 때 consumer
발생합니다. 변환기는 데이터를 에서 이해할 consumer
수 있는 형식으로 변환합니다.
추가 정보
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- WebPartTransformer
- ASP.NET 웹 파트 컨트롤
적용 대상
.NET