TableCell.AddAttributesToRender(HtmlTextWriter) Method

Definition

Adds properties specific to the TableCell control to the list of attributes to render.

protected:
 override void AddAttributesToRender(System::Web::UI::HtmlTextWriter ^ writer);
protected override void AddAttributesToRender (System.Web.UI.HtmlTextWriter writer);
override this.AddAttributesToRender : System.Web.UI.HtmlTextWriter -> unit
Protected Overrides Sub AddAttributesToRender (writer As HtmlTextWriter)

Parameters

writer
HtmlTextWriter

The output stream that renders HTML content to the client.

Exceptions

A cell listed as an associated header cell was not found.

Examples

The following code example demonstrates how to override the AddAttributesToRender method in a custom server control so that a custom title attribute is rendered for each cell.

<%@ Page Language="C#" %>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>

<!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="Head2" runat="server">
    <title>Custom TableCell - AddAttributesToRender - C# Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <h3>Custom TableCell - AddAttributesToRender - C# Example</h3>

    <asp:Table id="Table1" runat="server" 
      CellPadding="3" CellSpacing="2">
      <asp:TableRow>
        <aspSample:CustomTableCellAddAttributesToRender Text="(0,0)" />
        <aspSample:CustomTableCellAddAttributesToRender Text="(0,1)" />
        <aspSample:CustomTableCellAddAttributesToRender Text="(0,2)" />
      </asp:TableRow>
      <asp:TableRow>
        <aspSample:CustomTableCellAddAttributesToRender Text="(1,0)" />
        <aspSample:CustomTableCellAddAttributesToRender Text="(1,1)" />
        <aspSample:CustomTableCellAddAttributesToRender Text="(1,2)" />
      </asp:TableRow>
    </asp:Table>
      
    </div>
    </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 id="Head2" runat="server">
    <title>Custom TableCell - AddAttributesToRender - VB.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <h3>Custom TableCell - AddAttributesToRender - VB Example</h3>

    <asp:Table id="Table1" runat="server" 
      CellPadding="3" CellSpacing="2">
      <asp:TableRow>
        <aspSample:CustomTableCellAddAttributesToRender Text="(0,0)" />
        <aspSample:CustomTableCellAddAttributesToRender Text="(0,1)" />
        <aspSample:CustomTableCellAddAttributesToRender Text="(0,2)" />
      </asp:TableRow>
      <asp:TableRow>
        <aspSample:CustomTableCellAddAttributesToRender Text="(1,0)" />
        <aspSample:CustomTableCellAddAttributesToRender Text="(1,1)" />
        <aspSample:CustomTableCellAddAttributesToRender Text="(1,2)" />
      </asp:TableRow>
    </asp:Table>
      
    </div>
    </form>
</body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
  public sealed class CustomTableCellAddAttributesToRender : System.Web.UI.WebControls.TableCell
  {
    protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer)
    {
      // Write a Title attribute.
      writer.AddAttribute("title", "CustomAddAttributesToRender");

      // Call the base AddAttributesToRender method.
      base.AddAttributesToRender(writer);
    }
  }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls
    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public NotInheritable Class CustomTableCellAddAttributesToRender
        Inherits System.Web.UI.WebControls.TableCell

        Protected Overrides Sub AddAttributesToRender(ByVal writer As System.Web.UI.HtmlTextWriter)

            ' Write a Title attribute.
            writer.AddAttribute("title", "CustomAddAttributesToRender")

            ' Call the base AddAttributesToRender method.
            MyBase.AddAttributesToRender(writer)
        End Sub
    End Class
End Namespace

Remarks

The AddAttributesToRender method overrides the base class's AddAttributesToRender method and first calls the base method and then adds the TableCell attributes corresponding to the RowSpan property, the ColumnSpan property and the AssociatedHeaderCellID property. If the AssociatedHeaderCellID property refers to a TableHeaderCell that can not be found, an HttpException is thrown.

The AddAttributesToRender method is used primarily by control developers extending the functionality of the TableCell control.

Notes to Inheritors

When overriding the AddAttributesToRender(HtmlTextWriter) method in a derived class, be sure to call the AddAttributesToRender(HtmlTextWriter) method of the base class so that the TableCell control attributes are properly rendered.

Applies to

See also