WebPartManager.MoveWebPart(WebPart, WebPartZoneBase, Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
WebPart 또는 서버 컨트롤을 한 WebPartZoneBase 영역에서 다른 영역이나 동일한 영역 내의 새 위치로 이동합니다.
public:
virtual void MoveWebPart(System::Web::UI::WebControls::WebParts::WebPart ^ webPart, System::Web::UI::WebControls::WebParts::WebPartZoneBase ^ zone, int zoneIndex);
public virtual void MoveWebPart (System.Web.UI.WebControls.WebParts.WebPart webPart, System.Web.UI.WebControls.WebParts.WebPartZoneBase zone, int zoneIndex);
abstract member MoveWebPart : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.WebPartZoneBase * int -> unit
override this.MoveWebPart : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.WebPartZoneBase * int -> unit
Public Overridable Sub MoveWebPart (webPart As WebPart, zone As WebPartZoneBase, zoneIndex As Integer)
매개 변수
- zone
- WebPartZoneBase
webPart
가 이동될 대상 WebPartZoneBase입니다.
- zoneIndex
- Int32
webPart
내의 다른 컨트롤에 상대적인 zone
의 인덱스를 나타내는 정수입니다.
예외
webPart
가 Controls 컨트롤의 WebPartManager 컬렉션에 없는 경우
또는
zone
가 Zones 컨트롤의 WebPartManager 컬렉션에 없는 경우
또는
webPart
컨트롤의 Zone 속성이 참조하는 영역이 null
인 경우, 즉 webPart
가 현재 영역에 없는 경우
webPart
또는 zone
가 null
인 경우
zoneIndex
가 0보다 작은 경우
예제
다음 코드 예제를 호출 MoveWebPart 하는 방법에 설명 합니다 메서드를 직접 코드에서 한 영역에서 다른 영역으로 컨트롤을 WebPart 이동 합니다.
이 코드 예제는 세 부분으로 구성 합니다.
디스플레이 모드를 변경하기 위한 사용자 컨트롤입니다.
컨트롤을 호스트할 웹 페이지입니다.
코드 예제를 실행하는 방법에 대한 설명입니다.
코드 예제의 첫 번째 부분은 디스플레이 모드를 변경하기 위한 사용자 컨트롤입니다. 클래스 개요의 예제 섹션에서 사용자 컨트롤에 WebPartManager 대한 소스 코드를 가져올 수 있습니다. 디스플레이 모드 및 사용자 컨트롤의 작동 방식에 대한 자세한 내용은 연습: 웹 파트 페이지에서 디스플레이 모드 변경을 참조하세요.
예제의 두 번째 부분은 각각 두 개의 서버 컨트롤을 포함하는 두 개의 영역을 포함하는 웹 페이지입니다. 사용자가 페이지에서 WebPart 이동 단추를 클릭하면 메서드의 Button1_Click
코드는 컨트롤을 첫 번째 영역에서 두 번째 영역의 새 위치로 이동합니다. 코드는 먼저 메서드를 GetGenericWebPart 호출하여 컨트롤을 래핑하는 개체를 GenericWebPartlist1
검색해야 합니다. 메서드의 첫 번째 매개 변수에는 컨트롤 list1
이 MoveWebPart 필요하지만 WebPart ASP.NET 서버 컨트롤이 필요하기 때문에 필요합니다.
<%@ Page Language="C#" %>
<%@ Register TagPrefix="uc1"
TagName="DisplayModeMenuCS"
Src="~/displaymodemenucs.ascx" %>
<!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)
{
GenericWebPart part = mgr1.GetGenericWebPart(list1);
mgr1.MoveWebPart(part, zone2, zone2.WebParts.Count - 1);
}
</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="mgr1" runat="server" />
<uc1:DisplayModeMenuCS ID="menu1" runat="server" />
<asp:WebPartZone ID="zone1" runat="server">
<ZoneTemplate>
<asp:Label ID="Label1" runat="server"
Text="My Navigation"
Title="Zone 1 Label"/>
<asp:BulletedList
ID="list1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorite Links"
AuthorizationFilter="admin">
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:WebPartZone>
<asp:WebPartZone ID="zone2" runat="server">
<ZoneTemplate>
<asp:Label ID="Label2" runat="server"
Text="My Data"
Title="Zone 2 Label"/>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar"/>
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="Move WebPart"
OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ Register TagPrefix="uc1"
TagName="DisplayModeMenuVB"
Src="~/displaymodemenuvb.ascx" %>
<!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 part As GenericWebPart = mgr1.GetGenericWebPart(list1)
mgr1.MoveWebPart(part, zone2, zone2.WebParts.Count - 1)
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="mgr1" runat="server" />
<uc1:DisplayModeMenuVB ID="menu1" runat="server" />
<asp:WebPartZone ID="zone1" runat="server">
<ZoneTemplate>
<asp:Label ID="Label1" runat="server"
Text="My Navigation"
Title="Zone 1 Label"/>
<asp:BulletedList
ID="list1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorite Links"
AuthorizationFilter="admin">
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:WebPartZone>
<asp:WebPartZone ID="zone2" runat="server">
<ZoneTemplate>
<asp:Label ID="Label2" runat="server"
Text="My Data"
Title="Zone 2 Label"/>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar"/>
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="Move WebPart"
OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
페이지가 로드된 후 웹 파트 이동 단추를 클릭하고 링크가 포함된 컨트롤이 두 번째 영역의 중간 위치로 이동합니다. 이 컨트롤의 이동은 메서드를 호출하여 프로그래밍 방식으로 수행됩니다 MoveWebPart . 디스플레이 모드 드롭다운 목록 컨트롤을 사용하여 페이지를 디자인 모드로 전환할 수도 있으며 디자인 모드에서는 컨트롤을 영역 내의 다른 영역이나 다른 위치로 끌 수 있습니다. 메서드는 MoveWebPart 이러한 사용자 시작 이동을 처리 하기 위해 컨트롤에 의해 WebPartManager 호출 합니다.
설명
컨트롤은 WebPartManager 메서드를 MoveWebPart 사용하여 동일한 영역 또는 다른 영역의 새 위치로 이동합니다 webPart
. 코드에서 직접 이 메서드를 호출할 수 있으며 사용자가 웹 파트 UI(사용자 인터페이스)의 다양한 옵션을 사용하여 컨트롤을 새 위치로 이동할 때도 호출됩니다.
이동하려면 먼저 여러 조건을 충족 webPart
해야 하며, 이러한 조건의 대부분은 이 항목의 예외 섹션에 나열된 항목으로 표시됩니다. 가 시작할 영역에 포함되지 WebPartZoneBase 않은 경우 webPart
영역으로 이동할 수 없습니다.
조건이 충족되면 다음 일련의 작업을 수행하여 을 이동합니다 webPart
.
OnWebPartMoving 메서드는 WebPartMoving 이벤트를 발생시킵니다.
webPart
는 현재 영역에서 제거되고(필요한 경우) 현재 영역 내의 새 영역 또는 새 위치에 추가됩니다.OnWebPartMoved 메서드는 WebPartMoved 이벤트를 발생시킵니다.
zoneIndex
원본 영역과 대상 영역 모두에 있는 모든 WebPart 컨트롤의 은 이동된 컨트롤을 반영하도록 다시 설정됩니다.
적용 대상
추가 정보
.NET