Aracılığıyla paylaş


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

Tanım

Web sayfasına denetim eklemek WebPart için standart programlama yöntemini sağlar.

public:
 System::Web::UI::WebControls::WebParts::WebPart ^ AddWebPart(System::Web::UI::WebControls::WebParts::WebPart ^ webPart, System::Web::UI::WebControls::WebParts::WebPartZoneBase ^ zone, int zoneIndex);
public System.Web.UI.WebControls.WebParts.WebPart AddWebPart (System.Web.UI.WebControls.WebParts.WebPart webPart, System.Web.UI.WebControls.WebParts.WebPartZoneBase zone, int zoneIndex);
member this.AddWebPart : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.WebPartZoneBase * int -> System.Web.UI.WebControls.WebParts.WebPart
Public Function AddWebPart (webPart As WebPart, zone As WebPartZoneBase, zoneIndex As Integer) As WebPart

Parametreler

webPart
WebPart

Web WebPart sayfasına eklenecek veya sayfada açılacak (veya sunucu veya kullanıcı denetimi).

zone
WebPartZoneBase

WebPartZoneBase eklenmekte webPart olan.

zoneIndex
Int32

içindeki diğer denetimlere zonegöre içinde zonebulunan sıralı konumu temsil eden webPart bir tamsayı.

Döndürülenler

WebPart Sayfaya eklenen denetim.

Özel durumlar

webPart, null değeridir.

-veya-

zone, null değeridir.

zone , denetimin WebPartManager bölge koleksiyonuna kaydedilmez.

-veya-

webPart zaten içindedir zone.

değeri zoneIndex sıfırdan küçüktür.

Örnekler

Aşağıdaki kod örneği, bir sayfaya program aracılığıyla sunucu denetimi eklemek için yönteminin kullanımını AddWebPart gösterir. Sayfa işaretlemesi boş <asp:webpartzone> bir öğe ve bir <asp:webpartmanager> öğe içerir. Takvim Ekle düğmesine ilk kez tıklandığında, olay işleyicisindeki kod bir Calendar denetim oluşturur ve bunu nesne olarak GenericWebPart bir bölgeye ekleyerek yöntemini çağırırAddWebPart.

<%@ Page Language="C#" %>

<!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 Button2_Click(object sender, EventArgs e)
  {
    WebPartManager mgr = WebPartManager1;
    Calendar cal = new Calendar();
    cal.ID = "cal1";
    GenericWebPart calWebPart = mgr.CreateWebPart(cal);
    mgr.AddWebPart(calWebPart, WebPartZone1, 1);
  }

  protected void Button1_Click(object sender, EventArgs e)
  {
    if (WebPartZone1.WebParts.Count > 1)
    {
      WebPart cal = WebPartZone1.WebParts[1];
      if (cal.Controls[0].GetType().Name == "Calendar" 
        && cal != null)
        WebPartManager1.DeleteWebPart(cal);
    }

  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Adding a Server Control</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="WebPartManager1" 
        runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList  
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links">
            <asp:ListItem Value="http://www.microsoft.com">
            Microsoft
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
            MSN
            </asp:ListItem>
            <asp:ListItem Value="http://www.contoso.com">
            Contoso Corp.
            </asp:ListItem>
          </asp:BulletedList>
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Delete Calendar" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Add Calendar" 
        OnClick="Button2_Click" />
    </div>
    </form>
</body>
</html>
<%@ Page Language="vb" %>

<!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 Button2_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    Dim mgr As WebPartManager = WebPartManager1
    Dim cal As New Calendar()
    cal.ID = "cal1"
    Dim calWebPart As GenericWebPart = mgr.CreateWebPart(cal)
    mgr.AddWebPart(calWebPart, WebPartZone1, 1)
  End Sub

  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)

    If WebPartZone1.WebParts.Count > 1 Then
      Dim cal As WebPart = WebPartZone1.WebParts(1)
      If cal.Controls(0).GetType().Name = "Calendar" AndAlso _
        cal IsNot Nothing Then
        WebPartManager1.DeleteWebPart(cal)
      End If
    End If
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Adding a Server Control</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="WebPartManager1" 
        runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList  
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links">
            <asp:ListItem Value="http://www.microsoft.com">
            Microsoft
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
            MSN
            </asp:ListItem>
            <asp:ListItem Value="http://www.contoso.com">
            Contoso Corp.
            </asp:ListItem>
          </asp:BulletedList>
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Delete Calendar" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Add Calendar" 
        OnClick="Button2_Click" />
    </div>
    </form>
</body>
</html>

Açıklamalar

AddWebPart yöntemi, bir sayfaya yeni dinamik WebPart denetimler eklemek ve daha önce bir sayfada kapatılmış olan statik veya dinamik denetimleri yeniden açmak için kullanılır. Yeni denetim eklemek için yöntemi çağrıldığında, aslında parametresinde webPart başvurulan denetimin bir kopyasını oluşturur. Denetimin kopyası için yeni bir kimlik oluşturulur, bu nedenle geliştiricilerin WebPart yeni kimlik değerini almak için yönteminden döndürülen denetime başvurması gerekir. Yöntemi daha önce kapatılmış bir denetimi yeniden açmak için çağrıldığında, parametresi tarafından webPart başvurulan denetime doğrudan bir başvuru döndürür.

Önemli

yöntemi kullanıldığında özel durum oluştuğundan, sayfaya AddWebPart program aracılığıyla denetim eklemek WebPart için her zaman özelliği tarafından WebPartManager.Controls başvuruda bulunan denetim koleksiyonunun Add yöntemi yerine Add yöntemini kullanmanız gerekir. Denetim olmayan bir denetim eklemek için (başka bir WebPart deyişle, çalışma zamanında bir denetimle sarmalanacak bir GenericWebPart sunucu denetimi), önce denetimi oluşturmak için yöntemini çağırmanız CreateWebPart ve ardından denetimi eklemek için yöntemini çağırmanız AddWebPart gerekir. Bu yaklaşımın bir gösterimi için Örnek bölümüne bakın.

Şunlara uygulanır

Ayrıca bkz.