Sdílet prostřednictvím


WebPartManager.WebParts Vlastnost

Definice

Získá odkaz na všechny WebPart ovládací prvky sledované WebPartManager ovládacím prvku na webové stránce.

public:
 property System::Web::UI::WebControls::WebParts::WebPartCollection ^ WebParts { System::Web::UI::WebControls::WebParts::WebPartCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Web.UI.WebControls.WebParts.WebPartCollection WebParts { get; }
[<System.ComponentModel.Browsable(false)>]
member this.WebParts : System.Web.UI.WebControls.WebParts.WebPartCollection
Public ReadOnly Property WebParts As WebPartCollection

Hodnota vlastnosti

A WebPartCollection , který obsahuje odkazy na sadu ovládacích WebPart prvků.

Atributy

Příklady

Následující příklad kódu ukazuje, jak programově použít WebParts vlastnost pro přístup k jednotlivým WebPart ovládacím prvkům. Všimněte si, že v deklarativním kódu pro webovou stránku jsou v elementu <asp:webpartzone> dva standardní ASP.NET serverové ovládací prvky. I když se nedědí z WebPart třídy , protože jsou v zóně, budou zabaleny s objektem GenericWebPart za běhu, a proto budou zahrnuty do kolekce, na kterou WebParts odkazuje vlastnost . Do této zóny můžete také přidat vlastní WebPart ovládací prvky, uživatelské ovládací prvky nebo vlastní serverové ovládací prvky a budou zpracovány stejným způsobem.

<%@ 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 Button1_Click(object sender, EventArgs e)
  {
    Label1.Text = "WebPart count:  " +
      WebPartManager1.WebParts.Count.ToString();
  }

  protected void Button2_Click(object sender, EventArgs e)
  {
    WebPartManager1.WebParts["Calendar1"].ChromeType = 
      PartChromeType.BorderOnly;
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
    <asp:WebPartManager ID="WebPartManager1" runat="server" />    
    <div>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links"
            ExportMode="All">
            <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>
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Button ID="Button1" runat="server" 
        Text="WebPart Count" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Hide Calendar Title" 
        OnClick="Button2_Click" />  
      <br />
      <asp:Label ID="Label1" runat="server" text="" />
    </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 Button1_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    Label1.Text = "WebPart count:  " & _
      WebPartManager1.WebParts.Count.ToString()
  End Sub

  Protected Sub Button2_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    WebPartManager1.WebParts("Calendar1").ChromeType = _
      PartChromeType.BorderOnly

  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
    <asp:WebPartManager ID="WebPartManager1" runat="server" />    
    <div>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links"
            ExportMode="All">
            <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>
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Button ID="Button1" runat="server" 
        Text="WebPart Count" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Hide Calendar Title" 
        OnClick="Button2_Click" />  
      <br />
      <asp:Label ID="Label1" runat="server" text="" />
    </div>
    </form>
</body>
</html>

Aby příklad kódu fungoval, musíte do souboru Web.config přidat nastavení, které povolí export souborů s popisem webových částí. Ujistěte se, že máte soubor Web.config ve stejném adresáři jako webová stránka pro tento příklad kódu. V oddílu <system.web> se ujistěte, že existuje element s atributem nastaveným enableExport na true, jak je <webParts> uvedeno v následujícím kódu.

<webParts enableExport="true">

...

</webParts>

Pokud po načtení stránky do prohlížeče kliknete na tlačítko Počet webových částí , kód použije WebParts vlastnost k vrácení počtu ovládacích prvků v kolekci. Pokud kliknete na tlačítko Skrýt název kalendáře , kód změní kalendář tak, že se vykreslí jenom s ohraničením a ne s názvem.

Poznámky

Vlastnost WebParts používá WebPartManager ovládací prvek ke sledování všech WebPart ovládacích prvků obsažených v WebPartZoneBase zónách na stránce. I když je kolekce jen pro čtení, můžete prostřednictvím kolekce přistupovat k jednotlivým WebPart ovládacím prvkům a provádět v nich změny programově.

Poznámka

Ovládací prvek je možné umístit WebPart na stránku mimo zónu WebPartZone , což vede k tomu, že ovládací prvek nesleduje WebPartManager nebo neodkazuje na něj v jeho WebParts kolekci. Existuje však jen málo důvodů k použití WebPart ovládacího prvku mimo zónu, protože pak ztratí funkce webových částí a funguje jako normální serverový ovládací prvek.

Jakýkoli typ ovládacího prvku, který lze umístit do zóny, ať už jde o vlastní WebPart ovládací prvek, standardní ovládací prvek ASP.NET, uživatelský ovládací prvek nebo vlastní serverový ovládací prvek, lze za běhu považovat za WebPart ovládací prvek. Pokud je ovládací prvek, který není ovládacím WebPart prvek, umístěn v WebPartZone zóně, za běhu ASP.NET zabalí ovládací prvek s objektem GenericWebPart , aby se ovládací prvek mohl chovat jako skutečný WebPart ovládací prvek. Proto pomocí WebParts vlastnosti WebPartManager může ovládací prvek sledovat libovolný typ serverového ovládacího prvku bez ohledu na to, zda je odvozen z WebPart třídy .

Platí pro