CheckBoxList.IRepeatInfoUser.RenderItem(ListItemType, Int32, RepeatInfo, HtmlTextWriter) CheckBoxList.IRepeatInfoUser.RenderItem(ListItemType, Int32, RepeatInfo, HtmlTextWriter) Method

Definition

For a description of this member, see RenderItem(ListItemType, Int32, RepeatInfo, HtmlTextWriter).

 virtual void System.Web.UI.WebControls.IRepeatInfoUser.RenderItem(System::Web::UI::WebControls::ListItemType itemType, int repeatIndex, System::Web::UI::WebControls::RepeatInfo ^ repeatInfo, System::Web::UI::HtmlTextWriter ^ writer) = System::Web::UI::WebControls::IRepeatInfoUser::RenderItem;
void IRepeatInfoUser.RenderItem (System.Web.UI.WebControls.ListItemType itemType, int repeatIndex, System.Web.UI.WebControls.RepeatInfo repeatInfo, System.Web.UI.HtmlTextWriter writer);

Parameters

itemType
ListItemType ListItemType

One of the ListItemType enumeration values.

repeatIndex
Int32 Int32

An ordinal index that specifies the location of the item in the list control.

repeatInfo
RepeatInfo RepeatInfo

A RepeatInfo object that represents the information used to render the item in the list.

writer
HtmlTextWriter HtmlTextWriter

An HtmlTextWriter object that represents the output stream to render HTML content on the client.

Implements

Examples

The following code example demonstrates how to use the IRepeatInfoUser interface members on a custom CheckBoxList object.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!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>
    <title>Custom CheckBoxList - IRepeatInfoUser - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">
      <h3>Custom CheckBoxList - IRepeatInfoUser - C# Example</h3>
      <aspSample:CustomCheckBoxListIRepeatInfoUser
        id="CheckBoxList1" runat="server">
          <asp:ListItem Selected="True">Item 1</asp:ListItem>
          <asp:ListItem>Item 2</asp:ListItem>
          <asp:ListItem>Item 3</asp:ListItem>
          <asp:ListItem>Item 4</asp:ListItem>
          <asp:ListItem>Item 5</asp:ListItem>
          <asp:ListItem>Item 6</asp:ListItem>
      </aspSample:CustomCheckBoxListIRepeatInfoUser>
    </form>
  </body>
</html>
<%@ Page language="VB" %>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<!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>
        <title>Custom CheckBoxList - IRepeatInfoUser - VB.NET Example</title>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom CheckBoxList - IRepeatInfoUser - VB.NET Example</h3>
      <aspSample:CustomCheckBoxListIRepeatInfoUser id="CheckBoxList" runat="server">
                <asp:ListItem  Selected="True">Item 1</asp:ListItem>
                <asp:ListItem>Item 2</asp:ListItem>
                <asp:ListItem>Item 3</asp:ListItem>
                <asp:ListItem>Item 4</asp:ListItem>
                <asp:ListItem>Item 5</asp:ListItem>
                <asp:ListItem>Item 6</asp:ListItem>
            </aspSample:CustomCheckBoxListIRepeatInfoUser>
        </form>
    </body>
</html>
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = 
        AspNetHostingPermissionLevel.Minimal)]
    public class CustomCheckBoxListIRepeatInfoUser : CheckBoxList
    {
        private bool hasFooter;
        private bool hasHeader;
        private bool hasSeparators;
        private int repeatedItemCount;
        private Style itemStyleItem;

        protected override void OnPreRender(System.EventArgs e)
        {
            // Call the base class's OnPreRender method
            base.OnPreRender(e);

            // Get a self-referencing IRepeatInfoUser object
            IRepeatInfoUser repeatInfoUser = (IRepeatInfoUser)this;

            // Get the IRepeatInfoUser members values.
            hasFooter = repeatInfoUser.HasFooter;
            hasHeader = repeatInfoUser.HasHeader;
            hasSeparators = repeatInfoUser.HasSeparators;
            repeatedItemCount = repeatInfoUser.RepeatedItemCount;
            itemStyleItem = repeatInfoUser.GetItemStyle(ListItemType.Item, 0);
        }

        protected override void Render(HtmlTextWriter writer)
        {
            // Create and setup a RepeatInfo class.
            RepeatInfo repeatInfo = new RepeatInfo();
            repeatInfo.RepeatColumns = 0;
            repeatInfo.RepeatDirection = RepeatDirection.Horizontal;
            repeatInfo.RepeatLayout = RepeatLayout.Table;

            // Get a self-referencing IRepeatInfoUser object
            IRepeatInfoUser repeatInfoUser = (IRepeatInfoUser)this;

            // Render the items using the above RepeatInfo class.
            repeatInfoUser.RenderItem(ListItemType.Item, 0, repeatInfo, writer);
            repeatInfoUser.RenderItem(ListItemType.Item, 1, repeatInfo, writer);
            repeatInfoUser.RenderItem(ListItemType.Item, 2, repeatInfo, writer);
            repeatInfoUser.RenderItem(ListItemType.Item, 3, repeatInfo, writer);
            repeatInfoUser.RenderItem(ListItemType.Item, 4, repeatInfo, writer);
            repeatInfoUser.RenderItem(ListItemType.Item, 5, repeatInfo, writer);
        }
    }
}
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls

    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class CustomCheckBoxListIRepeatInfoUser
        Inherits CheckBoxList

        Private _hasFooter As Boolean
        Private _hasHeader As Boolean
        Private _hasSeparators As Boolean
        Private _repeatedItemCount As Integer
        Private _itemStyleItem As Style

        Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
            ' Call the base class's OnPreRender method
            MyBase.OnPreRender(e)

            ' Get a self-referencing IRepeatInfoUser object
            Dim repeatInfoUser As IRepeatInfoUser
            repeatInfoUser = CType(Me, IRepeatInfoUser)

            ' Get the IRepeatInfoUser member values.
            _hasFooter = repeatInfoUser.HasFooter
            _hasHeader = repeatInfoUser.HasHeader
            _hasSeparators = repeatInfoUser.HasSeparators
            _repeatedItemCount = repeatInfoUser.RepeatedItemCount
            _itemStyleItem = repeatInfoUser.GetItemStyle(ListItemType.Item, 0)
        End Sub

        Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
            ' Create and setup a RepeatInfo class.
            Dim repeatInfo As New RepeatInfo
            repeatInfo.RepeatColumns = 0
            repeatInfo.RepeatDirection = RepeatDirection.Horizontal
            repeatInfo.RepeatLayout = RepeatLayout.Table

            ' Get a self-referencing IRepeatInfoUser object
            Dim repeatInfoUser As IRepeatInfoUser
            repeatInfoUser = CType(Me, IRepeatInfoUser)

            ' Render the items using the above RepeatInfo and IRepeatInfoUser classes.
            repeatInfoUser.RenderItem(ListItemType.Item, 0, repeatInfo, writer)
            repeatInfoUser.RenderItem(ListItemType.Item, 1, repeatInfo, writer)
            repeatInfoUser.RenderItem(ListItemType.Item, 2, repeatInfo, writer)
            repeatInfoUser.RenderItem(ListItemType.Item, 3, repeatInfo, writer)
            repeatInfoUser.RenderItem(ListItemType.Item, 4, repeatInfo, writer)
            repeatInfoUser.RenderItem(ListItemType.Item, 5, repeatInfo, writer)
        End Sub
    End Class

End Namespace

Remarks

Typically, you should use the CheckBoxList.RenderItem method to render items in a CheckBoxList object.

The IRepeatInfoUser.RenderItem method is an explicit interface member implementation. It can be used only when the CheckBoxList instance is cast to an IRepeatInfoUser interface.

Notes to Inheritors

To define a custom implementation for rendering items in a CheckBoxList object, override the RenderItem(ListItemType, Int32, RepeatInfo, HtmlTextWriter) member. The explicit interface implementation calls the RenderItem(ListItemType, Int32, RepeatInfo, HtmlTextWriter) method to render an item in the control.

Applies to

See also