다음을 통해 공유


WebPartManager.Connections 속성

정의

웹 페이지의 현재 연결이 모두 들어 있는 컬렉션에 대한 참조를 가져옵니다.

public:
 property System::Web::UI::WebControls::WebParts::WebPartConnectionCollection ^ Connections { System::Web::UI::WebControls::WebParts::WebPartConnectionCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Web.UI.WebControls.WebParts.WebPartConnectionCollection Connections { get; }
[<System.ComponentModel.Browsable(false)>]
member this.Connections : System.Web.UI.WebControls.WebParts.WebPartConnectionCollection
Public ReadOnly Property Connections As WebPartConnectionCollection

속성 값

WebPartConnectionCollection 개체의 집합이 들어 있는 WebPartConnection입니다.

특성

예제

다음 코드 예제에서는 선언적 및 프로그래밍 방식으로 사용 하는 컨트롤입니다 WebPartManager .

코드 예제에는 네 부분으로 구성됩니다.

  • 웹 파트 페이지의 디스플레이 모드를 변경할 수 있게 해 주는 사용자 정의 컨트롤입니다.

  • 연결할 수 있는 두 개의 사용자 지정 WebPart 컨트롤과 <asp:webpartmanager> 요소가 포함된 웹 페이지입니다.

  • 두 개의 사용자 지정 컨트롤과 사용자 지정 WebPart 인터페이스가 포함된 소스 코드 파일입니다.

  • 예제가 브라우저에서 작동하는 방식에 대한 설명입니다.

다음 코드는 예제의 웹 페이지 부분만 포함합니다. 위에서 언급한 사용자 지정 컨트롤에 대한 사용자 지정 사용자 컨트롤 및 소스 코드도 필요합니다. 클래스 개요의 예제 섹션에서 WebPartManager 이러한 두 항목을 가져옵니다.

다음 웹 페이지 코드는 프로그래밍 방식으로 속성을 사용하여 Connections 페이지에서 현재 연결 수를 가져오는 방법을 보여 줍니다. 태그 섹션에서 컨트롤에 <script> 대한 두 이벤트를 처리하는 코드는 WebPartManager 개수를 얻기 위해 속성에 액세스합니다 Connections .

<%@ 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">
 
  private void UpdateLabelData(int wpCount, int connCount)
  {
    Label1.Text = "WebPart Control Count:  " + wpCount.ToString();
    Label2.Text = "Connections Count: " + connCount.ToString();
  }

  protected void WebPartManager1_WebPartsConnected(object sender, WebPartConnectionsEventArgs e)
  {
    UpdateLabelData(WebPartManager1.WebParts.Count,
      WebPartManager1.Connections.Count);
  }

  protected void WebPartManager1_WebPartsDisconnected(object sender, WebPartConnectionsEventArgs e)
  {
    UpdateLabelData(WebPartManager1.WebParts.Count,
      WebPartManager1.Connections.Count);
  }
  
</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="WebPartManager1" runat="server"  
        OnWebPartsConnected="WebPartManager1_WebPartsConnected" 
        OnWebPartsDisconnected="WebPartManager1_WebPartsDisconnected" />
    <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 />
      <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
      <br />
      <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
      <!-- 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 WebPartManager1_WebPartsConnected( _
    ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.WebParts.WebPartConnectionsEventArgs)
    
    UpdateLabelData(WebPartManager1.WebParts.Count, _
      WebPartManager1.Connections.Count)
    
  End Sub

  Protected Sub WebPartManager1_WebPartsDisconnected( _
    ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.WebParts.WebPartConnectionsEventArgs)
    
    UpdateLabelData(WebPartManager1.WebParts.Count, _
      WebPartManager1.Connections.Count)
    
  End Sub
  
  Private Sub UpdateLabelData(ByVal wpCount As Integer, _
    ByVal connCount As Integer)
    
    Label1.Text = "WebPart Control Count:  " & wpCount.ToString()
    Label2.Text = "Connections Count: " & connCount.ToString()
    
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
      <asp:WebPartManager ID="WebPartManager1" runat="server" OnWebPartsConnected="WebPartManager1_WebPartsConnected" OnWebPartsDisconnected="WebPartManager1_WebPartsDisconnected" />
    <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 />
      <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
      <br />
      <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
      <!-- Add a ConnectionsZone so users can connect controls. -->
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server" />
    </div>
    </form>
</body>
</html>

브라우저에서 웹 페이지를 로드한 후 표시 모드 드롭다운 목록 컨트롤을 클릭하고 연결을 선택하여 페이지를 연결 모드로 전환합니다. 연결 모드는 <asp:connectionszone> 요소를 사용하여 컨트롤 간에 연결을 만들 수 있도록 합니다. 연결 모드에서 우편 번호 컨트롤의 제목 표시줄에서 아래쪽 화살표를 클릭하여 동사 메뉴를 활성화한 다음 연결을 클릭합니다. 연결 UI(사용자 인터페이스)가 표시되면 소비자에 대한 연결 만들기 링크를 클릭합니다. 드롭다운 목록 컨트롤이 있는 셀이 나타납니다. 드롭다운 목록에서 날씨 제어 를 선택하고 연결을 클릭하여 두 컨트롤의 연결을 완료합니다. 닫기를 클릭한 다음 표시 모드 드롭다운 목록을 사용하여 페이지를 일반 찾아보기 모드로 반환합니다. 이제 레이블에 연결 수와 컨트롤 수가 WebPart 표시됩니다. 이제 연결 모드로 돌아가서 두 컨트롤의 연결을 끊은 경우 찾아보기 모드로 돌아갈 때 레이블의 콘텐츠를 업데이트해야 하며 연결이 없어야 합니다.

설명

속성은 Connections 페이지의 현재 연결 집합에 액세스하는 방법을 제공합니다. 컬렉션 자체는 읽기 전용이며 컬렉션에서 특정 연결을 조작하려는 개발자는 및 DisconnectWebParts와 같은 ConnectWebParts 메서드를 사용해야 WebPartManager 합니다.

적용 대상

추가 정보