WebPartCollection.Item Property (Int32)
Returns a member of the collection based on its position in the collection.
Assembly: System.Web (in System.Web.dll)
Parameters
- index
-
Type:
System.Int32
The index of a particular WebPart control in a collection.
Property Value
Type: System.Web.UI.WebControls.WebParts.WebPartA WebPart at the specified index in the collection.
The Item indexer allows you to access the underlying WebPart controls in a WebPartCollection object by index, and change their property values or call methods.
The following code example demonstrates the use of the Item indexer on a Web Parts page. This example has three parts:
The code for the page in a partial class.
The Web page that contains the controls.
A description of how the example works in a browser.
The first part of the code example contains the code for the page in a partial class. Note that the Button2_Click method creates an empty WebPartCollection object, then assigns to it the WebPart controls from the WebPartZone1.WebParts property. The method accesses the first control in the collection by using its index, and toggles its Title property value.
Imports System Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.WebControls.WebParts Partial Public Class webpartcollectionvb Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim partCollection As WebPartCollection = mgr1.WebParts Dim part As WebPart For Each part In partCollection If part.ChromeState <> PartChromeState.Minimized Then part.ChromeState = PartChromeState.Minimized Else part.ChromeState = PartChromeState.Normal End If Next End Sub Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim partCollection As WebPartCollection = WebPartZone1.WebParts If partCollection(0).Title = "My Link List" Then partCollection(0).Title = "Favorite Links" Else partCollection(0).Title = "My Link List" End If End Sub End Class
The second part of the code example is the Web page that contains the controls. Notice that the controls declared in WebPartZone1 are standard ASP.NET server controls, but because they are wrapped as GenericWebPart controls at run time, and the GenericWebPart class inherits from the WebPart class, the controls can be treated as WebPart controls at run time and made part of a WebPartCollection object.
<%@ Page Language="vb" Codefile="webpartcollection.vb" Inherits="webpartcollectionvb" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:WebPartManager ID="mgr1" runat="server" /> <asp:WebPartZone ID="WebPartZone1" runat="server"> <ZoneTemplate> <asp:BulletedList ID="BulletedList1" Runat="server" DisplayMode="HyperLink" Title="Favorite Links" > <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> <br /> <asp:Calendar ID="Calendar1" runat="server" Title="My Calendar" /> </ZoneTemplate> </asp:WebPartZone> </div> <hr /> <asp:Button ID="Button1" runat="server" Width="200" Text="Toggle ChromeState" OnClick="Button1_Click" /> <br /> <asp:Button ID="Button2" runat="server" Width="200" Text="Toggle BulletedList1 Title" OnClick="Button2_Click"/> </form> </body> </html>
After you load the page in a browser, click the Toggle BulletedList1 Title button, and notice that the code toggles the title of the control between the two available title choices.
Available since 2.0