WebPartManager.MoveWebPart(WebPart, WebPartZoneBase, Int32) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
1 つの 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 移動する方法を示します。
このコード例には、次の 3 つの部分があります。
表示モードを変更するためのユーザー コントロール。
コントロールをホストする Web ページ。
コード例を実行する方法の説明。
コード例の最初の部分は、表示モードを変更するためのユーザー コントロールです。 ユーザー コントロールのソース コードは、クラスの概要の「例」セクション WebPartManager から取得できます。 表示モードとユーザー コントロールの動作の詳細については、「 チュートリアル: Web パーツ ページでの表示モードの変更」を参照してください。
この例の 2 番目の部分は、2 つのゾーンを含む Web ページであり、それぞれに 2 つのサーバー コントロールが含まれています。 ユーザーがページの [ WebPart の移動 ] ボタンをクリックすると、 メソッドのコードは Button1_Click
、コントロールを最初のゾーンから 2 番目のゾーンの新しい位置に移動します。 コードは、最初に メソッドを呼び出して、コントロールを GetGenericWebPart ラップするオブジェクトを GenericWebPart 取得する list1
必要があることに注意してください。 これは、メソッドの最初の MoveWebPart パラメーターにはコントロールが必要 WebPart ですが、 list1
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>
ページが読み込まれたら、[ WebPart の移動 ] ボタンをクリックし、リンクを含むコントロールが 2 番目のゾーンの中央の位置に移動します。 このコントロールの移動は、 メソッドを呼び出 MoveWebPart すことによってプログラムによって実行されます。 [ 表示モード ] ドロップダウン リスト コントロールを使用してページをデザイン モードに切り替え、デザイン モードでは、コントロールを異なるゾーンまたはゾーン内の異なる位置にドラッグすることもできます。 メソッドは MoveWebPart 、このようなユーザーが開始した移動を WebPartManager 処理するために、 コントロールによっても呼び出されます。
注釈
コントロールは WebPartManager 、 メソッドを MoveWebPart 使用して、同じゾーン内または別のゾーン内の新しい場所に移動 webPart
します。 このメソッドはコードから直接呼び出すことができます。また、Web パーツ ユーザー インターフェイス (UI) のさまざまなオプションを使用して、ユーザーがコントロールを新しい位置に移動したときにも呼び出されます。
移動するには、いくつかの条件が満た webPart
されている必要があります。そのほとんどは、このトピックの「例外」セクションに記載されている項目によって示されます。 で始まるゾーンにが含まれていないWebPartZoneBase場合webPart
は、ゾーンに移動できません。
条件が満たされると、 を移動 webPart
するために次の一連のアクションが発生します。
OnWebPartMoving メソッドは、WebPartMoving イベントを発生させます。
webPart
は現在のゾーンから削除され (必要な場合)、新しいゾーンまたは現在のゾーン内の新しい位置に追加されます。OnWebPartMoved メソッドは、WebPartMoved イベントを発生させます。
zoneIndex
WebPart移動元ゾーンと移動先ゾーンの両方のすべてのコントロールの が、移動されたコントロールを反映するようにリセットされます。
適用対象
こちらもご覧ください
.NET