Share via

WebControl.AddAttributesToRender(HtmlTextWriter) Method


Adds HTML attributes and styles that need to be rendered to the specified HtmlTextWriterTag. This method is used primarily by control developers.

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



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


The following example demonstrates how to create a class that derives from the WebControl class. The base implementation of the AddAttributesToRender method is overridden to add attributes appropriate to the derived class in the HtmlTextWriter output stream.

namespace ControlTest 
   using System;
   using System.Web.UI;
   using System.Web.UI.WebControls;

   // Renders the following HTML: 
   // <span onclick="alert('Hello');" style="color:Red;">Custom Contents</span>

   public class MyWebControl: WebControl {

      public MyWebControl() : base(HtmlTextWriterTag.Span) 
      { }

      [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
      protected override void AddAttributesToRender(HtmlTextWriter writer) 

         writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "alert('Hello');");
         writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "Red");

      [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
      protected override void RenderContents(HtmlTextWriter writer) 
         writer.Write("Custom Contents");

Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace ControlTest
   ' Renders the following HTML: 
   ' <span onclick="alert('Hello');" style="color:Red;">Custom Contents</span>
   Public Class MyWebControl
      Inherits WebControl
      Public Sub New()
      End Sub
      <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
      Protected Overrides Sub AddAttributesToRender(writer As HtmlTextWriter)
         writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "alert('Hello');")
         writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "Red")

      End Sub

      <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
      Protected Overrides Sub RenderContents(writer As HtmlTextWriter)
         writer.Write("Custom Contents")
      End Sub

   End Class

End Namespace 'ControlTest


To render attributes and styles for a Web Server control on the client, you typically call the AddAttribute and HtmlTextWriter.AddStyleAttribute methods to insert each attribute and style individually to the HtmlTextWriter output stream. To simplify the process, this method encapsulates all calls to the HtmlTextWriter.AddAttribute and HtmlTextWriter.AddStyleAttribute methods for every attribute and style associated with the Web server control. All attributes and styles are inserted into the HtmlTextWriter output stream in a single method call. This method is typically overridden by control developers in derived classes to insert the appropriate attributes and styles to the HtmlTextWriter output stream for the class.


The AddAttributesToRender method cannot be used to insert client script. To use client script, see the ClientScriptManager class.

Applies to

See also