WebPartManager.MoveWebPart(WebPart, WebPartZoneBase, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
WebPart Memindahkan kontrol server atau dari satu WebPartZoneBase zona ke zona lain, atau ke posisi baru dalam zona yang sama.
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)
Parameter
- zone
- WebPartZoneBase
Target WebPartZoneBase yang webPart
dipindahkan.
- zoneIndex
- Int32
Bilangan bulat yang menunjukkan indeks relatif terhadap webPart
kontrol lain dalam zone
.
Pengecualian
webPart
tidak terkandung dalam Controls kumpulan WebPartManager kontrol.
-atau-
zone
tidak terkandung dalam Zones kumpulan WebPartManager kontrol.
-atau-
Zona yang direferensikan webPart
oleh properti kontrol Zone adalah null
, yang berarti saat webPart
ini tidak terkandung dalam zona.
webPart
atau zone
adalah null
.
zoneIndex
kurang dari nol.
Contoh
Contoh kode berikut menunjukkan cara memanggil MoveWebPart metode langsung dari kode untuk memindahkan WebPart kontrol dari satu zona ke zona lainnya.
Contoh kode memiliki tiga bagian:
Kontrol pengguna untuk mengubah mode tampilan.
Halaman Web untuk menghosting kontrol.
Penjelasan tentang cara menjalankan contoh kode.
Bagian pertama dari contoh kode adalah kontrol pengguna untuk mengubah mode tampilan. Anda dapat memperoleh kode sumber untuk kontrol pengguna dari bagian Contoh dari WebPartManager gambaran umum kelas. Untuk informasi selengkapnya tentang mode tampilan dan cara kerja kontrol pengguna, lihat Panduan: Mengubah Mode Tampilan pada Halaman Bagian Web.
Bagian kedua dari contoh adalah halaman Web yang berisi dua zona, yang masing-masing berisi dua kontrol server. Saat pengguna mengklik tombol Pindahkan WebPart pada halaman, kode dalam Button1_Click
metode memindahkan kontrol dari zona pertama ke posisi baru di zona kedua. Perhatikan bahwa kode terlebih dahulu harus memanggil GetGenericWebPart metode untuk mengambil GenericWebPart objek yang membungkus list1
kontrol. Ini diperlukan karena parameter MoveWebPart pertama metode memerlukan WebPart kontrol, sedangkan list1
adalah kontrol server 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>
Setelah halaman dimuat, klik tombol Pindahkan WebPart , dan perhatikan bahwa kontrol yang berisi tautan berpindah ke posisi tengah di zona kedua. Gerakan kontrol ini dicapai secara terprogram dengan memanggil MoveWebPart metode . Anda juga dapat menggunakan kontrol daftar drop-down Mode Tampilan untuk mengalihkan halaman ke mode desain, dan dalam mode desain, Anda dapat menyeret kontrol ke zona yang berbeda atau posisi yang berbeda dalam zonanya. Metode MoveWebPart ini juga dipanggil oleh kontrol untuk menangani langkah yang dimulai pengguna tersebut WebPartManager .
Keterangan
Kontrol WebPartManager menggunakan MoveWebPart metode untuk berpindah webPart
ke lokasi baru di zona yang sama, atau di zona yang berbeda. Anda dapat memanggil metode ini langsung dari kode, dan juga dipanggil ketika pengguna memindahkan kontrol ke posisi baru menggunakan berbagai opsi di antarmuka pengguna (UI) Komponen Web.
Sejumlah kondisi harus dipenuhi sebelum webPart
dapat dipindahkan, dan sebagian besar ditunjukkan oleh item yang tercantum di bagian Pengecualian dari topik ini. Jika webPart
tidak terkandung dalam WebPartZoneBase zona untuk memulai, zona tersebut tidak dapat dipindahkan ke zona.
Setelah kondisi terpenuhi, urutan tindakan berikut terjadi untuk memindahkan webPart
:
Metode ini OnWebPartMoving meningkatkan WebPartMoving peristiwa.
webPart
dihapus dari zonanya saat ini (jika perlu), dan ditambahkan ke zona baru atau posisi baru dalam zonanya saat ini.Metode ini OnWebPartMoved meningkatkan WebPartMoved peristiwa.
zoneIndex
Dari setiap WebPart kontrol di zona asal dan tujuan diatur ulang untuk mencerminkan kontrol yang dipindahkan.