Style.AddAttributesToRender Method (HtmlTextWriter, WebControl)

 

Adds HTML attributes and styles that need to be rendered to the specified System.Web.UI.HtmlTextWriter and Web server control. This method is primarily used by control developers.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public virtual void AddAttributesToRender(
	HtmlTextWriter writer,
	WebControl owner
)

Parameters

writer
Type: System.Web.UI.HtmlTextWriter

An System.Web.UI.HtmlTextWriter that represents the output stream to render HTML content on the client.

owner
Type: System.Web.UI.WebControls.WebControl

A WebControl or WebControl derived object that represents the Web server control associated with the Style.

To render attributes and styles for a Web server control on the client, you typically call the HtmlTextWriter.AddAttribute and HtmlTextWriter.AddStyleAttribute methods to insert each attribute and style individually to the System.Web.UI.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 System.Web.UI.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 System.Web.UI.HtmlTextWriter output stream for the class.

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 System.Web.UI.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");
         base.AddAttributesToRender(writer);

      }

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

.NET Framework
Available since 1.1
Return to top
Show: