DataList.RenderContents(HtmlTextWriter) Method

Definition

Renders the list items in the DataList control.

C#
protected override void RenderContents(System.Web.UI.HtmlTextWriter writer);
C#
protected internal override void RenderContents(System.Web.UI.HtmlTextWriter writer);

Parameters

writer
HtmlTextWriter

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

Examples

The following code example demonstrates how to override the RenderContents method in a custom server control so that some text precedes the DataList object.

ASP.NET (C#)
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!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 DataList - RenderContents - C# Example</title>
        <script runat="server">
          private void Page_Load(object sender, System.EventArgs e)
          {
        // Create sample data for the DataList control.
        System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("Column1", typeof(String)));
        
        dr = dt.NewRow();
        dr[0] = "Hello";
        dt.Rows.Add(dr);
        
        dr = dt.NewRow();
        dr[0] = "DataList";
        dt.Rows.Add(dr);
        
        dr = dt.NewRow();
        dr[0] = "World";
        dt.Rows.Add(dr);

        // Show the DataTable values in the DataList.
              DataList1.DataSource = dt;
        DataList1.DataBind();
        }        
        </script>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom DataList - RenderContents - C# Example</h3>

            <aspSample:CustomDataListRenderContents id="DataList1" runat="server" 
                BorderColor="#999999" BorderStyle="None" BackColor="White" CellPadding="3" 
                GridLines="Vertical" BorderWidth="1px" Width="100px">
        
          <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#000084" />
          <HeaderTemplate>
              <asp:Label id="Label1" runat="server">Column1</asp:Label>
          </HeaderTemplate>

          <ItemStyle ForeColor="Black" BackColor="#EEEEEE" />
          <ItemTemplate>
              <asp:Label id="Label2" runat="server"><%# DataBinder.Eval(Container.DataItem, "Column1") %></asp:Label>
          </ItemTemplate>

          <AlternatingItemStyle BackColor="#DCDCDC" />
          <AlternatingItemTemplate>
              <asp:Label id="Label3" runat="server"><%# DataBinder.Eval(Container.DataItem, "Column1") %></asp:Label>
          </AlternatingItemTemplate>
          
      </aspSample:CustomDataListRenderContents>
        </form>
    </body>
</html>
C#
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomDataListRenderContents : System.Web.UI.WebControls.DataList
    {
        protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
        {
            // Place some text before the DataList.
            writer.Write("Here is some text from the RenderContent method.<br>");

            // Call the base RenderContents method.
            base.RenderContents(writer);
        }
    }
}

Remarks

The RenderContents method is used primarily by control developers, when deriving a custom control from the DataList control.

The RenderContents method renders the inner content of the DataList control, including the contained DataListItem controls.

Applies to

Product Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1