WebPartManager.MoveWebPart(WebPart, WebPartZoneBase, Int32) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee verplaatst u een WebPart of serverbesturingselement van de ene WebPartZoneBase zone naar de andere of naar een nieuwe positie binnen dezelfde zone.
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)
Parameters
- zone
- WebPartZoneBase
Het doel WebPartZoneBase waarnaar webPart wordt verplaatst.
- zoneIndex
- Int32
Een geheel getal dat de index aangeeft ten opzichte van webPart andere besturingselementen binnen zone.
Uitzonderingen
webPart is niet opgenomen in de Controls verzameling van het WebPartManager besturingselement.
– of –
zone is niet opgenomen in de Zones verzameling van het WebPartManager besturingselement.
– of –
De zone waarnaar wordt verwezen door de eigenschap van webPart het Zone besturingselement isnull, wat betekent dat deze webPart zich momenteel niet in een zone bevindt.
webPart of zone is null.
zoneIndex is kleiner dan nul.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de MoveWebPart methode rechtstreeks vanuit code aanroept om een WebPart besturingselement van de ene zone naar de andere te verplaatsen.
Het codevoorbeeld heeft drie delen:
Een gebruikersbeheer voor het wijzigen van weergavemodi.
Een webpagina voor het hosten van de besturingselementen.
Een uitleg over het uitvoeren van het codevoorbeeld.
Het eerste deel van het codevoorbeeld is het gebruikersbeheer voor het wijzigen van weergavemodi. U kunt de broncode voor het gebruikersbeheer verkrijgen in de sectie Voorbeeld van het WebPartManager klassenoverzicht. Zie Walkthrough: Weergavemodi wijzigen op een pagina met webonderdelen voor meer informatie over weergavemodi en hoe het gebruikersbeheer werkt.
Het tweede deel van het voorbeeld is een webpagina met twee zones, die elk twee serverbesturingselementen bevat. Wanneer een gebruiker op de knop Webonderdeel verplaatsen op de pagina klikt, verplaatst de code in de Button1_Click methode een besturingselement van de eerste zone naar een nieuwe positie in de tweede zone. U ziet dat de code eerst de GetGenericWebPart methode moet aanroepen om het GenericWebPart object op te halen dat het list1 besturingselement verpakt. Dit is vereist omdat voor de eerste parameter van de methode MoveWebPart een WebPart-besturingselement is vereist, terwijl list1 een ASP.NET serverbeheer is.
<%@ 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>
Nadat de pagina is geladen, klikt u op de knop Webonderdeel verplaatsen en ziet u dat het besturingselement met de koppelingen naar de middelste positie in de tweede zone wordt verplaatst. Deze verplaatsing van het besturingselement wordt programmatisch uitgevoerd door de MoveWebPart methode aan te roepen. U kunt ook het besturingselement voor de vervolgkeuzelijst Weergavemodus gebruiken om de pagina over te schakelen naar de ontwerpmodus en in de ontwerpmodus kunt u de besturingselementen naar verschillende zones of verschillende posities binnen hun zones slepen. De MoveWebPart methode wordt ook aangeroepen door het besturingselement voor het afhandelen van dergelijke door de WebPartManager gebruiker geïnitieerde verplaatsingen.
Opmerkingen
Het WebPartManager besturingselement gebruikt de MoveWebPart methode om naar een nieuwe locatie in dezelfde zone of in een andere zone te gaan webPart . U kunt deze methode rechtstreeks vanuit code aanroepen en deze wordt ook aangeroepen wanneer een gebruiker een besturingselement naar een nieuwe positie verplaatst met behulp van verschillende opties in de gebruikersinterface van webonderdelen (UI).
Aan een aantal voorwaarden moet worden voldaan voordat webPart u deze kunt verplaatsen. De meeste voorwaarden worden aangegeven door items die worden vermeld in de sectie Uitzonderingen van dit onderwerp. Als webPart deze niet is opgenomen in een WebPartZoneBase zone om mee te beginnen, kan deze niet worden verplaatst naar een zone.
Nadat aan de voorwaarden is voldaan, vindt de volgende reeks acties plaats om te verplaatsen webPart:
Met OnWebPartMoving de methode wordt de WebPartMoving gebeurtenis gegenereerd.
webPartwordt verwijderd uit de huidige zone (indien nodig) en toegevoegd aan de nieuwe zone of nieuwe positie binnen de huidige zone.Met OnWebPartMoved de methode wordt de WebPartMoved gebeurtenis gegenereerd.
Het
zoneIndexbesturingselement in WebPart zowel de oorspronkelijke als de doelzones wordt opnieuw ingesteld om het verplaatste besturingselement weer te geven.