WebPartManager.MoveWebPart(WebPart, WebPartZoneBase, Int32) Yöntem

Tanım

Bir veya sunucu denetimini bir WebPart bölgeden diğerine WebPartZoneBase veya aynı bölge içindeki yeni bir konuma taşır.

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)

Parametreler

webPart
WebPart

Taşınan WebPart veya başka bir sunucu denetimi.

zone
WebPartZoneBase

Taşınan WebPartZoneBase hedefwebPart.

zoneIndex
Int32

içindeki webPartdiğer denetimlere göre dizinini zone gösteren tamsayı.

Özel durumlar

webPart denetimin koleksiyonunda Controls yer almaz WebPartManager .

-veya-

zone denetimin koleksiyonunda Zones yer almaz WebPartManager .

-veya-

Denetimin webPartZone özelliği tarafından başvurulan bölge, nullşu anda bir bölgede yer almadığı webPart anlamına gelir.

webPart veya zone şeklindedir null.

zoneIndex, sıfırdan küçüktür.

Örnekler

Aşağıdaki kod örneği, bir denetimi bir MoveWebPart bölgeden WebPart diğerine taşımak için doğrudan koddan yöntemini çağırmayı gösterir.

Kod örneğinin üç bölümü vardır:

  • Görüntü modlarını değiştirmek için bir kullanıcı denetimi.

  • Denetimleri barındırmak için bir Web sayfası.

  • Kod örneğinin nasıl çalıştırıldığından bir açıklama.

Kod örneğinin ilk bölümü, görüntüleme modlarını değiştirmeye yönelik kullanıcı denetimidir. Kullanıcı denetimi için kaynak kodunu sınıfa genel bakışın Örnek bölümünden WebPartManager edinebilirsiniz. Görüntüleme modları ve kullanıcı denetiminin nasıl çalıştığı hakkında daha fazla bilgi için bkz . İzlenecek Yol: Web Bölümleri Sayfasında Görüntü Modlarını Değiştirme.

Örneğin ikinci bölümü, her biri iki sunucu denetimi içeren iki bölge içeren bir Web sayfasıdır. Kullanıcı sayfadaki Web Bölümünü Taşı düğmesine tıkladığında, yöntemdeki Button1_Click kod denetimi ilk bölgeden ikinci bölgedeki yeni bir konuma taşır. Kodun önce denetimi sarmalayan nesneyi almak GetGenericWebPart için yöntemini çağırması GenericWebPartlist1 gerektiğine dikkat edin. MoveWebPart yönteminin ilk parametresi bir WebPart denetimi gerektirdiğinden, list1 bir ASP.NET sunucu denetimi olduğundan bu gereklidir.

<%@ 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>

Sayfa yükledikten sonra Web Bölümünü Taşı düğmesine tıklayın ve bağlantıları içeren denetimin ikinci bölgedeki orta konuma taşındığına dikkat edin. Denetimin bu hareketi, yöntemi çağrılarak MoveWebPart program aracılığıyla gerçekleştirilir. Sayfayı tasarım moduna geçmek için Görüntü Modu açılan liste denetimini de kullanabilirsiniz ve tasarım modunda denetimleri bölgeleri içinde farklı bölgelere veya farklı konumlara sürükleyebilirsiniz. Yöntemi MoveWebPart , kullanıcı tarafından başlatılan bu tür taşımaları işlemek için denetim tarafından WebPartManager da çağrılır.

Açıklamalar

Denetim, WebPartManager aynı bölgede veya farklı bir bölgede yeni bir konuma gitmek MoveWebPart için yöntemini kullanırwebPart. Bu yöntemi doğrudan koddan çağırabilirsiniz ve bir kullanıcı Web Bölümleri kullanıcı arabirimindeki (UI) çeşitli seçenekler kullanılarak denetimi yeni bir konuma taşırken de çağrılır.

Taşınabilmesi için önce webPart bir dizi koşulun karşılanması gerekir ve bunların çoğu bu konunun Özel Durumlar bölümünde listelenen öğelerle gösterilir. webPart Başlangıç olarak bir WebPartZoneBase bölgede yer almadıysa, bir bölgeye taşınamaz.

Koşullar karşılandıktan sonra, taşımak webPartiçin aşağıdaki eylem dizisi gerçekleşir:

  1. OnWebPartMoving yöntemi olayı tetiklerWebPartMoving.

  2. webPart geçerli bölgesinden kaldırılır (gerekirse) ve yeni bölgesine veya geçerli bölgesi içindeki yeni konumuna eklenir.

  3. OnWebPartMoved yöntemi olayı tetiklerWebPartMoved.

  4. Hem zoneIndex kaynak hem de hedef bölgelerdeki her WebPart denetimin sayısı, taşınan denetimi yansıtacak şekilde sıfırlanır.

Şunlara uygulanır

Ayrıca bkz.