This topic has not yet been rated - Rate this topic

Html32TextWriter Class

Writes a series of HTML 3.2–specific characters and text to the output stream for an ASP.NET server control. The Html32TextWriter class provides formatting capabilities that ASP.NET server controls use when rendering HTML 3.2 content to clients.

System.Object
  System.MarshalByRefObject
    System.IO.TextWriter
      System.Web.UI.HtmlTextWriter
        System.Web.UI.Html32TextWriter
          System.Web.UI.ChtmlTextWriter

Namespace:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)
public class Html32TextWriter : HtmlTextWriter

The Html32TextWriter type exposes the following members.

  Name Description
Public method Html32TextWriter(TextWriter) Initializes a new instance of the Html32TextWriter class that uses the line indentation that is specified in the HtmlTextWriter.DefaultTabString field when the requesting browser requires line indentation.
Public method Html32TextWriter(TextWriter, String) Initializes a new instance of the Html32TextWriter class that uses the specified line indentation.
Top
  Name Description
Public property Encoding Gets the encoding that the HtmlTextWriter object uses to write content to the page. (Inherited from HtmlTextWriter.)
Protected property FontStack Infrastructure. Gets a collection of font information for the HTML to render.
Public property FormatProvider Gets an object that controls formatting. (Inherited from TextWriter.)
Public property Indent Gets or sets the number of tab positions to indent the beginning of each line of markup. (Inherited from HtmlTextWriter.)
Public property InnerWriter Gets or sets the text writer that writes the inner content of the markup element. (Inherited from HtmlTextWriter.)
Public property NewLine Gets or sets the line terminator string used by the HtmlTextWriter object. (Inherited from HtmlTextWriter.)
Public property ShouldPerformDivTableSubstitution Gets or sets a Boolean value indicating whether to replace a Table element with a Div element to reduce the time that it takes to render a block of HTML.
Public property SupportsBold Gets or sets a Boolean value indicating whether the requesting device supports bold HTML text. Use the SupportsBold property to conditionally render bold text to the Html32TextWriter output stream.
Public property SupportsItalic Gets or sets a Boolean value indicating whether the requesting device supports italic HTML text. Use the SupportsItalic property to conditionally render italicized text to the Html32TextWriter output stream.
Protected property TagKey Gets or sets the HtmlTextWriterTag value for the specified markup element. (Inherited from HtmlTextWriter.)
Protected property TagName Gets or sets the tag name of the markup element being rendered. (Inherited from HtmlTextWriter.)
Top
  Name Description
Public method AddAttribute(HtmlTextWriterAttribute, String) Adds the markup attribute and the attribute value to the opening tag of the element that the HtmlTextWriter object creates with a subsequent call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Public method AddAttribute(String, String) Adds the specified markup attribute and value to the opening tag of the element that the HtmlTextWriter object creates with a subsequent call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Public method AddAttribute(HtmlTextWriterAttribute, String, Boolean) Adds the markup attribute and the attribute value to the opening tag of the element that the HtmlTextWriter object creates with a subsequent call to the RenderBeginTag method, with optional encoding. (Inherited from HtmlTextWriter.)
Public method AddAttribute(String, String, Boolean) Adds the specified markup attribute and value to the opening tag of the element that the HtmlTextWriter object creates with a subsequent call to the RenderBeginTag method, with optional encoding. (Inherited from HtmlTextWriter.)
Protected method AddAttribute(String, String, HtmlTextWriterAttribute) Adds the specified markup attribute and value, along with an HtmlTextWriterAttribute enumeration value, to the opening tag of the element that the HtmlTextWriter object creates with a subsequent call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Public method AddStyleAttribute(HtmlTextWriterStyle, String) Adds the markup style attribute associated with the specified HtmlTextWriterStyle value and the attribute value to the opening markup tag created by a subsequent call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Public method AddStyleAttribute(String, String) Adds the specified markup style attribute and the attribute value to the opening markup tag created by a subsequent call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Protected method AddStyleAttribute(String, String, HtmlTextWriterStyle) Adds the specified markup style attribute and the attribute value, along with an HtmlTextWriterStyle enumeration value, to the opening markup tag created by a subsequent call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Public method BeginRender Notifies an HtmlTextWriter object, or an object of a derived class, that a control is about to be rendered. (Inherited from HtmlTextWriter.)
Public method Close Closes the HtmlTextWriter object and releases any system resources associated with it. (Inherited from HtmlTextWriter.)
Public method CreateObjRef Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public method Dispose() Releases all resources used by the TextWriter object. (Inherited from TextWriter.)
Protected method Dispose(Boolean) Releases the unmanaged resources used by the TextWriter and optionally releases the managed resources. (Inherited from TextWriter.)
Protected method EncodeAttributeValue(HtmlTextWriterAttribute, String) Encodes the value of the specified markup attribute based on the requirements of the HttpRequest object of the current context. (Inherited from HtmlTextWriter.)
Protected method EncodeAttributeValue(String, Boolean) Encodes the value of the specified markup attribute based on the requirements of the HttpRequest object of the current context. (Inherited from HtmlTextWriter.)
Protected method EncodeUrl Performs minimal URL encoding by converting spaces in the specified URL to the string "%20". (Inherited from HtmlTextWriter.)
Public method EndRender Notifies an HtmlTextWriter object, or an object of a derived class, that a control has finished rendering. You can use this method to close any markup elements opened in the BeginRender method. (Inherited from HtmlTextWriter.)
Public method EnterStyle(Style) Writes the opening tag of a <span> element that contains attributes that implement the layout and character formatting of the specified style. (Inherited from HtmlTextWriter.)
Public method EnterStyle(Style, HtmlTextWriterTag) Writes the opening tag of a markup element that contains attributes that implement the layout and character formatting of the specified style. (Inherited from HtmlTextWriter.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public method ExitStyle(Style) Writes the closing tag of a <span> element to end the specified layout and character formatting. (Inherited from HtmlTextWriter.)
Public method ExitStyle(Style, HtmlTextWriterTag) Writes the closing tag of the specified markup element to end the specified layout and character formatting. (Inherited from HtmlTextWriter.)
Protected method FilterAttributes Removes all the markup and style attributes on all properties of the page or Web server control. (Inherited from HtmlTextWriter.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Flush Clears all buffers for the current HtmlTextWriter object and causes any buffered data to be written to the output stream. (Inherited from HtmlTextWriter.)
Protected method GetAttributeKey Obtains the corresponding HtmlTextWriterAttribute enumeration value for the specified attribute. (Inherited from HtmlTextWriter.)
Protected method GetAttributeName Obtains the name of the markup attribute associated with the specified HtmlTextWriterAttribute value. (Inherited from HtmlTextWriter.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetLifetimeService Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected method GetStyleKey Obtains the HtmlTextWriterStyle enumeration value for the specified style. (Inherited from HtmlTextWriter.)
Protected method GetStyleName Obtains the markup style attribute name associated with the specified HtmlTextWriterStyle enumeration value. (Inherited from HtmlTextWriter.)
Protected method GetTagKey Obtains the HtmlTextWriterTag enumeration value associated with the specified markup element. (Inherited from HtmlTextWriter.)
Protected method GetTagName Returns the HTML element that is associated with the specified HtmlTextWriterTag enumeration value. (Overrides HtmlTextWriter.GetTagName(HtmlTextWriterTag).)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method InitializeLifetimeService Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected method IsAttributeDefined(HtmlTextWriterAttribute) Determines whether the specified markup attribute and its value are rendered during the next call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Protected method IsAttributeDefined(HtmlTextWriterAttribute, String) Determines whether the specified markup attribute and its value are rendered during the next call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Protected method IsStyleAttributeDefined(HtmlTextWriterStyle) Determines whether the specified markup style attribute is rendered during the next call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Protected method IsStyleAttributeDefined(HtmlTextWriterStyle, String) Determines whether the specified markup style attribute and its value are rendered during the next call to the RenderBeginTag method. (Inherited from HtmlTextWriter.)
Public method IsValidFormAttribute Checks an attribute to ensure that it can be rendered in the opening tag of a <form> markup element. (Inherited from HtmlTextWriter.)
Protected method MemberwiseClone() Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method MemberwiseClone(Boolean) Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Protected method OnAttributeRender Determines whether the specified markup attribute and its value can be rendered to the current markup element. (Inherited from HtmlTextWriter.)
Protected method OnStyleAttributeRender Determines whether to write the specified HTML style attribute and its value to the output stream. (Overrides HtmlTextWriter.OnStyleAttributeRender(String, String, HtmlTextWriterStyle).)
Protected method OnTagRender Determines whether to write the specified HTML element to the output stream. (Overrides HtmlTextWriter.OnTagRender(String, HtmlTextWriterTag).)
Protected method OutputTabs Writes a series of tab strings that represent the indentation level for a line of markup characters. (Inherited from HtmlTextWriter.)
Protected method PopEndTag Removes the most recently saved markup element from the list of rendered elements. (Inherited from HtmlTextWriter.)
Protected method PushEndTag Saves the specified markup element for later use when generating the end tag for a markup element. (Inherited from HtmlTextWriter.)
Protected method RenderAfterContent Writes any text or spacing that appears after the content of the HTML element. (Overrides HtmlTextWriter.RenderAfterContent().)
Protected method RenderAfterTag Writes any spacing or text that occurs after an HTML element's closing tag. (Overrides HtmlTextWriter.RenderAfterTag().)
Protected method RenderBeforeContent Writes any tab spacing or font information that appears before the content that is contained in an HTML element. (Overrides HtmlTextWriter.RenderBeforeContent().)
Protected method RenderBeforeTag Writes any text or tab spacing that occurs before the opening tag of an HTML element to the HTML 3.2 output stream. (Overrides HtmlTextWriter.RenderBeforeTag().)
Public method RenderBeginTag(HtmlTextWriterTag) Writes the opening tag of the specified element to the HTML 3.2 output stream. (Overrides HtmlTextWriter.RenderBeginTag(HtmlTextWriterTag).)
Public method RenderBeginTag(String) Writes the opening tag of the specified markup element to the output stream. (Inherited from HtmlTextWriter.)
Public method RenderEndTag Writes the end tag of an HTML element to the Html32TextWriter output stream, along with any font information that is associated with the element. (Overrides HtmlTextWriter.RenderEndTag().)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method Write(Boolean) Writes the text representation of a Boolean value to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(Char) Writes the text representation of a Unicode character to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(Char[]) Writes the text representation of an array of Unicode characters to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(Decimal) Writes the text representation of a decimal value to the text stream. (Inherited from TextWriter.)
Public method Write(Double) Writes the text representation of a double-precision floating-point number to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(Int32) Writes the text representation of a 32-byte signed integer to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(Int64) Writes the text representation of a 64-byte signed integer to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(Object) Writes the text representation of an object to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(Single) Writes the text representation of a single-precision floating-point number to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(String) Writes the specified string to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(UInt32) Writes the text representation of a 4-byte unsigned integer to the text stream. (Inherited from TextWriter.)
Public method Write(UInt64) Writes the text representation of an 8-byte unsigned integer to the text stream. (Inherited from TextWriter.)
Public method Write(String, Object) Writes a tab string and a formatted string to the output stream, using the same semantics as the String.Format method, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(String, Object[]) Writes a formatted string that contains the text representation of an object array to the output stream, along with any pending tab spacing. This method uses the same semantics as the String.Format method. (Inherited from HtmlTextWriter.)
Public method Write(Char[], Int32, Int32) Writes the text representation of a subarray of Unicode characters to the output stream, along with any pending tab spacing. (Inherited from HtmlTextWriter.)
Public method Write(String, Object, Object) Writes a formatted string that contains the text representation of two objects to the output stream, along with any pending tab spacing. This method uses the same semantics as the String.Format method. (Inherited from HtmlTextWriter.)
Public method Write(String, Object, Object, Object) Writes out a formatted string, using the same semantics as String.Format. (Inherited from TextWriter.)
Public method WriteAttribute(String, String) Writes the specified markup attribute and value to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteAttribute(String, String, Boolean) Writes the specified markup attribute and value to the output stream, and, if specified, writes the value encoded. (Inherited from HtmlTextWriter.)
Public method WriteBeginTag Writes any tab spacing and the opening tag of the specified markup element to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteBreak Writes a <br /> markup element to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteEncodedText Encodes the specified text for the requesting device, and then writes it to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteEncodedUrl Encodes the specified URL, and then writes it to the output stream. The URL might include parameters. (Inherited from HtmlTextWriter.)
Public method WriteEncodedUrlParameter Encodes the specified URL parameter for the requesting device, and then writes it to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteEndTag Writes any tab spacing and the closing tag of the specified markup element. (Inherited from HtmlTextWriter.)
Public method WriteFullBeginTag Writes any tab spacing and the opening tag of the specified markup element to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine() Writes a line terminator string to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(Boolean) Writes any pending tab spacing and the text representation of a Boolean value, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(Char) Writes any pending tab spacing and a Unicode character, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(Char[]) Writes any pending tab spacing and an array of Unicode characters, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(Decimal) Writes the text representation of a decimal value followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public method WriteLine(Double) Writes any pending tab spacing and the text representation of a double-precision floating-point number, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(Int32) Writes any pending tab spacing and the text representation of a 32-byte signed integer, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(Int64) Writes any pending tab spacing and the text representation of a 64-byte signed integer, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(Object) Writes any pending tab spacing and the text representation of an object, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(Single) Writes any pending tab spacing and the text representation of a single-precision floating-point number, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(String) Writes any pending tab spacing and a text string, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(UInt32) Writes any pending tab spacing and the text representation of a 4-byte unsigned integer, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(UInt64) Writes the text representation of an 8-byte unsigned integer followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public method WriteLine(String, Object) Writes any pending tab spacing and a formatted string containing the text representation of an object, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(String, Object[]) Writes any pending tab spacing and a formatted string that contains the text representation of an object array, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(Char[], Int32, Int32) Writes any pending tab spacing and a subarray of Unicode characters, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(String, Object, Object) Writes any pending tab spacing and a formatted string that contains the text representation of two objects, followed by a line terminator string, to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteLine(String, Object, Object, Object) Writes out a formatted string and a new line, using the same semantics as Format. (Inherited from TextWriter.)
Public method WriteLineNoTabs Writes a string, followed by a line terminator string, to the output stream. This method ignores any specified tab spacing. (Inherited from HtmlTextWriter.)
Public method WriteStyleAttribute(String, String) Writes the specified style attribute to the output stream. (Inherited from HtmlTextWriter.)
Public method WriteStyleAttribute(String, String, Boolean) Writes the specified style attribute and value to the output stream, and encodes the value, if specified. (Inherited from HtmlTextWriter.)
Protected method WriteUrlEncodedString Writes the specified string, encoding it according to URL requirements. (Inherited from HtmlTextWriter.)
Top
  Name Description
Protected field CoreNewLine Stores the new line characters used for this TextWriter. (Inherited from TextWriter.)
Top

The Html32TextWriter class is an alternative to the HtmlTextWriter class. It converts HTML 4.0 style attributes into the equivalent HTML 3.2 tags and attributes. It standardizes the propagation of attributes, such as colors and fonts, using HTML tables. ASP.NET automatically uses this class for HTML 3.2 and earlier browsers by checking the TagWriter property of the HttpBrowserCapabilities class. Unless you create a custom page or control adapter that targets devices that use HTML 3.2 markup, you do not need to create an instance of the Html32TextWriter class explicitly.

For more information about customizing page and control rendering, see Walkthrough: Developing and Using a Custom Web Server Control.

The following code example demonstrates how to use a class, named CustomHtml32TextWriter, that derives from the Html32TextWriter class. CustomHtml32TextWriter creates two constructors that follow the pattern that is established by the HtmlTextWriter class and overrides the RenderBeforeContent, RenderAfterContent, RenderBeforeTag, and RenderAfterTag methods.


using System.IO;
using System.Web.UI;

namespace Examples.AspNet
{
	public class CustomHtml32TextWriter : Html32TextWriter
	{
		// Create a constructor for the class
		// that takes a TextWriter as a parameter.
		public CustomHtml32TextWriter(TextWriter writer) 
			: this(writer, DefaultTabString) 
		{
		}

		// Create a constructor for the class that takes
		// a TextWriter and a string as parameters.
		public CustomHtml32TextWriter(TextWriter writer, String tabString) 
			: base(writer, tabString)
		{
		}
		
		// Override the RenderBeforeContent method to render
		// styles before rendering the content of a <th> element.
		protected override string RenderBeforeContent()
		{
			// Check the TagKey property. If its value is
			// HtmlTextWriterTag.TH, check the value of the 
			// SupportsBold property. If true, return the
			// opening tag of a <b> element; otherwise, render
			// the opening tag of a <font> element with a color
			// attribute set to the hexadecimal value for red.
			if (TagKey == HtmlTextWriterTag.Th)
			{
				if (SupportsBold)
					return "<b>";
				else
					return "<font color=\"FF0000\">";
			}

			// Check whether the element being rendered
            // is an <H4> element. If it is, check the 
            // value of the SupportsItalic property.
            // If true, render the opening tag of the <i> element
            // prior to the <H4> element's content; otherwise, 
            // render the opening tag of a <font> element 
            // with a color attribute set to the hexadecimal
            // value for navy blue.
			if (TagKey == HtmlTextWriterTag.H4)
			{
				if (SupportsItalic)
					return "<i>";
				else
					return "<font color=\"000080\">";
			}
			// Call the base method.
			return base.RenderBeforeContent();
		}

		// Override the RenderAfterContent method to close
		// styles opened during the call to the RenderBeforeContent
		// method.
		protected override string RenderAfterContent()
		{
			// Check whether the element being rendered is a <th> element.
			// If so, and the requesting device supports bold formatting,
			// render the closing tag of the <b> element. If not,
			// render the closing tag of the <font> element.
			if (TagKey == HtmlTextWriterTag.Th)
			{
				if (SupportsBold)
					return "</b>";
				else
					return "</font>";
			}

			// Check whether the element being rendered is an <H4>.
            // element. If so, and the requesting device supports italic
            // formatting, render the closing tag of the <i> element.
            // If not, render the closing tag of the <font> element.
			if (TagKey == HtmlTextWriterTag.H4)
			{
				if (SupportsItalic)
					return "</i>";
				else
					return "</font>";
			}
			// Call the base method
			return base.RenderAfterContent();
		}

        // Override the RenderBeforeTag method to render the
        // opening tag of a <small> element to modify the text size of 
        // any <a> elements that this writer encounters.
		protected override string RenderBeforeTag()
		{
            // Check whether the element being rendered is an 
            // <a> element. If so, render the opening tag
            // of the <small> element; otherwise, call the base method.
			if (TagKey == HtmlTextWriterTag.A)
				return "<small>";
			return base.RenderBeforeTag();
		}

        // Override the RenderAfterTag method to render
        // close any elements opened in the RenderBeforeTag
        // method call.
		protected override string RenderAfterTag()
		{
            // Check whether the element being rendered is an
            // <a> element. If so, render the closing tag of the
            // <small> element; otherwise, call the base method.
			if (TagKey == HtmlTextWriterTag.A)
				return "</small>";
			return base.RenderAfterTag();
		}
	}
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ