Export (0) Print
Expand All
0 out of 3 rated this helpful - Rate this topic

HtmlTextWriter Class

Writes markup characters and text to an ASP.NET server control output stream. This class provides formatting capabilities that ASP.NET server controls use when rendering markup to clients.

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

The HtmlTextWriter type exposes the following members.

  NameDescription
Public methodHtmlTextWriter(TextWriter)Initializes a new instance of the HtmlTextWriter class that uses a default tab string.
Public methodHtmlTextWriter(TextWriter, String)Initializes a new instance of the HtmlTextWriter class with a specified tab string character.
Top
  NameDescription
Public propertyEncodingGets the encoding that the HtmlTextWriter object uses to write content to the page. (Overrides TextWriter.Encoding.)
Public propertyFormatProviderGets an object that controls formatting. (Inherited from TextWriter.)
Public propertyIndentGets or sets the number of tab positions to indent the beginning of each line of markup.
Public propertyInnerWriterGets or sets the text writer that writes the inner content of the markup element.
Public propertyNewLineGets or sets the line terminator string used by the HtmlTextWriter object. (Overrides TextWriter.NewLine.)
Protected propertyTagKeyGets or sets the HtmlTextWriterTag value for the specified markup element.
Protected propertyTagNameGets or sets the tag name of the markup element being rendered.
Top
  NameDescription
Public methodAddAttribute(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.
Public methodAddAttribute(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.
Public methodAddAttribute(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.
Public methodAddAttribute(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.
Protected methodAddAttribute(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.
Public methodAddStyleAttribute(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.
Public methodAddStyleAttribute(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.
Protected methodAddStyleAttribute(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.
Public methodBeginRenderNotifies an HtmlTextWriter object, or an object of a derived class, that a control is about to be rendered.
Public methodCloseCloses the HtmlTextWriter object and releases any system resources associated with it. (Overrides TextWriter.Close().)
Public methodCreateObjRefCreates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public methodDispose()Releases all resources used by the TextWriter object. (Inherited from TextWriter.)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the TextWriter and optionally releases the managed resources. (Inherited from TextWriter.)
Protected methodEncodeAttributeValue(HtmlTextWriterAttribute, String)Encodes the value of the specified markup attribute based on the requirements of the HttpRequest object of the current context.
Protected methodEncodeAttributeValue(String, Boolean)Encodes the value of the specified markup attribute based on the requirements of the HttpRequest object of the current context.
Protected methodEncodeUrlPerforms minimal URL encoding by converting spaces in the specified URL to the string "%20".
Public methodEndRenderNotifies 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.
Public methodEnterStyle(Style)Writes the opening tag of a <span> element that contains attributes that implement the layout and character formatting of the specified style.
Public methodEnterStyle(Style, HtmlTextWriterTag)Writes the opening tag of a markup element that contains attributes that implement the layout and character formatting of the specified style.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodExitStyle(Style)Writes the closing tag of a <span> element to end the specified layout and character formatting.
Public methodExitStyle(Style, HtmlTextWriterTag)Writes the closing tag of the specified markup element to end the specified layout and character formatting.
Protected methodFilterAttributesRemoves all the markup and style attributes on all properties of the page or Web server control.
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodFlushClears all buffers for the current HtmlTextWriter object and causes any buffered data to be written to the output stream. (Overrides TextWriter.Flush().)
Public methodFlushAsyncAsynchronously clears all buffers for the current writer and causes any buffered data to be written to the underlying device. (Inherited from TextWriter.)
Protected methodGetAttributeKeyObtains the corresponding HtmlTextWriterAttribute enumeration value for the specified attribute.
Protected methodGetAttributeNameObtains the name of the markup attribute associated with the specified HtmlTextWriterAttribute value.
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetLifetimeServiceRetrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected methodGetStyleKeyObtains the HtmlTextWriterStyle enumeration value for the specified style.
Protected methodGetStyleNameObtains the markup style attribute name associated with the specified HtmlTextWriterStyle enumeration value.
Protected methodGetTagKeyObtains the HtmlTextWriterTag enumeration value associated with the specified markup element.
Protected methodGetTagNameObtains the markup element associated with the specified HtmlTextWriterTag enumeration value.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodInitializeLifetimeServiceObtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected methodIsAttributeDefined(HtmlTextWriterAttribute)Determines whether the specified markup attribute and its value are rendered during the next call to the RenderBeginTag method.
Protected methodIsAttributeDefined(HtmlTextWriterAttribute, String)Determines whether the specified markup attribute and its value are rendered during the next call to the RenderBeginTag method.
Protected methodIsStyleAttributeDefined(HtmlTextWriterStyle)Determines whether the specified markup style attribute is rendered during the next call to the RenderBeginTag method.
Protected methodIsStyleAttributeDefined(HtmlTextWriterStyle, String)Determines whether the specified markup style attribute and its value are rendered during the next call to the RenderBeginTag method.
Public methodIsValidFormAttributeChecks an attribute to ensure that it can be rendered in the opening tag of a <form> markup element.
Protected methodMemberwiseClone()Creates a shallow copy of the current Object. (Inherited from Object.)
Protected methodMemberwiseClone(Boolean)Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Protected methodOnAttributeRenderDetermines whether the specified markup attribute and its value can be rendered to the current markup element.
Protected methodOnStyleAttributeRenderDetermines whether the specified markup style attribute and its value can be rendered to the current markup element.
Protected methodOnTagRenderDetermines whether the specified markup element will be rendered to the requesting page.
Protected methodOutputTabsWrites a series of tab strings that represent the indentation level for a line of markup characters.
Protected methodPopEndTagRemoves the most recently saved markup element from the list of rendered elements.
Protected methodPushEndTagSaves the specified markup element for later use when generating the end tag for a markup element.
Protected methodStatic memberRegisterAttributeRegisters markup attributes, whether literals or dynamically generated, from the source file so that they can be properly rendered to the requesting client.
Protected methodStatic memberRegisterStyleRegisters markup style properties, whether literals or dynamically generated, from the source file so that they can be properly rendered to the requesting client.
Protected methodStatic memberRegisterTagRegisters markup tags, whether literals or dynamically generated, from the source file so that they can be properly rendered to the requesting client.
Protected methodRenderAfterContentWrites any text or spacing that occurs after the content and before the closing tag of the markup element to the markup output stream.
Protected methodRenderAfterTagWrites any spacing or text that occurs after the closing tag for a markup element.
Protected methodRenderBeforeContentWrites any text or spacing before the content and after the opening tag of a markup element.
Protected methodRenderBeforeTagWrites any text or spacing that occurs before the opening tag of a markup element.
Public methodRenderBeginTag(HtmlTextWriterTag)Writes the opening tag of the markup element associated with the specified HtmlTextWriterTag enumeration value to the output stream.
Public methodRenderBeginTag(String)Writes the opening tag of the specified markup element to the output stream.
Public methodRenderEndTagWrites the end tag of a markup element to the output stream.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodWrite(Boolean)Writes the text representation of a Boolean value to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(Boolean).)
Public methodWrite(Char)Writes the text representation of a Unicode character to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(Char).)
Public methodWrite(Char[])Writes the text representation of an array of Unicode characters to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(Char[]).)
Public methodWrite(Decimal)Writes the text representation of a decimal value to the text string or stream. (Inherited from TextWriter.)
Public methodWrite(Double)Writes the text representation of a double-precision floating-point number to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(Double).)
Public methodWrite(Int32)Writes the text representation of a 32-byte signed integer to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(Int32).)
Public methodWrite(Int64)Writes the text representation of a 64-byte signed integer to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(Int64).)
Public methodWrite(Object)Writes the text representation of an object to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(Object).)
Public methodWrite(Single)Writes the text representation of a single-precision floating-point number to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(Single).)
Public methodWrite(String)Writes the specified string to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(String).)
Public methodWrite(UInt32)Writes the text representation of a 4-byte unsigned integer to the text string or stream. (Inherited from TextWriter.)
Public methodWrite(UInt64)Writes the text representation of an 8-byte unsigned integer to the text string or stream. (Inherited from TextWriter.)
Public methodWrite(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. (Overrides TextWriter.Write(String, Object).)
Public methodWrite(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. (Overrides TextWriter.Write(String, Object[]).)
Public methodWrite(Char[], Int32, Int32)Writes the text representation of a subarray of Unicode characters to the output stream, along with any pending tab spacing. (Overrides TextWriter.Write(Char[], Int32, Int32).)
Public methodWrite(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. (Overrides TextWriter.Write(String, Object, Object).)
Public methodWrite(String, Object, Object, Object)Writes a formatted string to the text string or stream, using the same semantics as the String.Format(String, Object, Object, Object) method. (Inherited from TextWriter.)
Public methodWriteAsync(Char)Writes a character to the text string or stream asynchronously. (Inherited from TextWriter.)
Public methodWriteAsync(Char[])Writes a character array to the text string or stream asynchronously. (Inherited from TextWriter.)
Public methodWriteAsync(String)Writes a string to the text string or stream asynchronously. (Inherited from TextWriter.)
Public methodWriteAsync(Char[], Int32, Int32)Writes a subarray of characters to the text string or stream asynchronously. (Inherited from TextWriter.)
Public methodWriteAttribute(String, String)Writes the specified markup attribute and value to the output stream.
Public methodWriteAttribute(String, String, Boolean)Writes the specified markup attribute and value to the output stream, and, if specified, writes the value encoded.
Public methodWriteBeginTagWrites any tab spacing and the opening tag of the specified markup element to the output stream.
Public methodWriteBreakWrites a <br /> markup element to the output stream.
Public methodWriteEncodedTextEncodes the specified text for the requesting device, and then writes it to the output stream.
Public methodWriteEncodedUrlEncodes the specified URL, and then writes it to the output stream. The URL might include parameters.
Public methodWriteEncodedUrlParameterEncodes the specified URL parameter for the requesting device, and then writes it to the output stream.
Public methodWriteEndTagWrites any tab spacing and the closing tag of the specified markup element.
Public methodWriteFullBeginTagWrites any tab spacing and the opening tag of the specified markup element to the output stream.
Public methodWriteLine()Writes a line terminator string to the output stream. (Overrides TextWriter.WriteLine().)
Public methodWriteLine(Boolean)Writes any pending tab spacing and the text representation of a Boolean value, followed by a line terminator string, to the output stream. (Overrides TextWriter.WriteLine(Boolean).)
Public methodWriteLine(Char)Writes any pending tab spacing and a Unicode character, followed by a line terminator string, to the output stream. (Overrides TextWriter.WriteLine(Char).)
Public methodWriteLine(Char[])Writes any pending tab spacing and an array of Unicode characters, followed by a line terminator string, to the output stream. (Overrides TextWriter.WriteLine(Char[]).)
Public methodWriteLine(Decimal)Writes the text representation of a decimal value followed by a line terminator to the text string or stream. (Inherited from TextWriter.)
Public methodWriteLine(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. (Overrides TextWriter.WriteLine(Double).)
Public methodWriteLine(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. (Overrides TextWriter.WriteLine(Int32).)
Public methodWriteLine(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. (Overrides TextWriter.WriteLine(Int64).)
Public methodWriteLine(Object)Writes any pending tab spacing and the text representation of an object, followed by a line terminator string, to the output stream. (Overrides TextWriter.WriteLine(Object).)
Public methodWriteLine(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. (Overrides TextWriter.WriteLine(Single).)
Public methodWriteLine(String)Writes any pending tab spacing and a text string, followed by a line terminator string, to the output stream. (Overrides TextWriter.WriteLine(String).)
Public methodWriteLine(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. (Overrides TextWriter.WriteLine(UInt32).)
Public methodWriteLine(UInt64)Writes the text representation of an 8-byte unsigned integer followed by a line terminator to the text string or stream. (Inherited from TextWriter.)
Public methodWriteLine(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. (Overrides TextWriter.WriteLine(String, Object).)
Public methodWriteLine(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. (Overrides TextWriter.WriteLine(String, Object[]).)
Public methodWriteLine(Char[], Int32, Int32)Writes any pending tab spacing and a subarray of Unicode characters, followed by a line terminator string, to the output stream. (Overrides TextWriter.WriteLine(Char[], Int32, Int32).)
Public methodWriteLine(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. (Overrides TextWriter.WriteLine(String, Object, Object).)
Public methodWriteLine(String, Object, Object, Object)Writes out a formatted string and a new line, using the same semantics as Format. (Inherited from TextWriter.)
Public methodWriteLineAsync()Writes a line terminator asynchronously to the text string or stream. (Inherited from TextWriter.)
Public methodWriteLineAsync(Char)Writes a character followed by a line terminator asynchronously to the text string or stream. (Inherited from TextWriter.)
Public methodWriteLineAsync(Char[])Writes an array of characters followed by a line terminator asynchronously to the text string or stream. (Inherited from TextWriter.)
Public methodWriteLineAsync(String)Writes a string followed by a line terminator asynchronously to the text string or stream. (Inherited from TextWriter.)
Public methodWriteLineAsync(Char[], Int32, Int32)Writes a subarray of characters followed by a line terminator asynchronously to the text string or stream. (Inherited from TextWriter.)
Public methodWriteLineNoTabsWrites a string, followed by a line terminator string, to the output stream. This method ignores any specified tab spacing.
Public methodWriteStyleAttribute(String, String)Writes the specified style attribute to the output stream.
Public methodWriteStyleAttribute(String, String, Boolean)Writes the specified style attribute and value to the output stream, and encodes the value, if specified.
Protected methodWriteUrlEncodedStringWrites the specified string, encoding it according to URL requirements.
Top
  NameDescription
Protected fieldCoreNewLineStores the newline characters used for this TextWriter. (Inherited from TextWriter.)
Public fieldStatic memberDefaultTabStringRepresents a single tab character.
Public fieldStatic memberDoubleQuoteCharRepresents the quotation mark (") character.
Public fieldStatic memberEndTagLeftCharsRepresents the left angle bracket and slash mark (</) of the closing tag of a markup element.
Public fieldStatic memberEqualsCharRepresents the equal sign (=).
Public fieldStatic memberEqualsDoubleQuoteStringRepresents an equal sign (=) and a double quotation mark (") together in a string (=").
Public fieldStatic memberSelfClosingCharsRepresents a space and the self-closing slash mark (/) of a markup tag.
Public fieldStatic memberSelfClosingTagEndRepresents the closing slash mark and right angle bracket (/>) of a self-closing markup element.
Public fieldStatic memberSemicolonCharRepresents the semicolon (;).
Public fieldStatic memberSingleQuoteCharRepresents an apostrophe (').
Public fieldStatic memberSlashCharRepresents the slash mark (/).
Public fieldStatic memberSpaceCharRepresents a space ( ) character.
Public fieldStatic memberStyleEqualsCharRepresents the style equals (:) character used to set style attributes equal to values.
Public fieldStatic memberTagLeftCharRepresents the opening angle bracket (<) of a markup tag.
Public fieldStatic memberTagRightCharRepresents the closing angle bracket (>) of a markup tag.
Top

The HtmlTextWriter class is used to render HTML 4.0 to desktop browsers. The HtmlTextWriter is also the base class for all markup writers in the System.Web.UI namespace, including the ChtmlTextWriter, Html32TextWriter, and XhtmlTextWriter classes. These classes are used to write the elements, attributes, and style and layout information for different types of markup. In addition, these classes are used by the page and control adapter classes that are associated with each markup language.

In most circumstances, ASP.NET automatically uses the appropriate writer for the requesting device. However, if you create a custom text writer or if you want to specify a particular writer to render a page for a specific device, you must map the writer to the page in the controlAdapters section of the application .browser file.

The following code example shows how to override the Render method of a custom control that is derived from the Control class. The code example illustrates how to use various HtmlTextWriter methods, properties, and fields.

        // Overrides the Render method to write a <span> element 
        // that applies styles and attributes.  
        protected override void Render(HtmlTextWriter writer) 
        {     
            // Set attributes and values along with attributes and styles   
            // attribute defined for a <span> element.
            writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "alert('Hello');");
            writer.AddAttribute("CustomAttribute", "CustomAttributeValue");
            writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "Red");
            writer.AddStyleAttribute("Customstyle", "CustomStyleValue");
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            // Create a space and indent the markup inside the  
            // <span> element.
            writer.WriteLine();
            writer.Indent++;
            writer.Write("Hello");
            writer.WriteLine();

            // Controls the encoding of markup attributes 
            // for an <img> element. Simple known values  
	        // do not need encoding.
            writer.AddAttribute(HtmlTextWriterAttribute.Alt, 
                "Encoding, \"Required\"", 
                true);
            writer.AddAttribute("myattribute", 
                "No &quot;encoding &quot; required", 
                false);
            writer.RenderBeginTag(HtmlTextWriterTag.Img);
            writer.RenderEndTag();
            writer.WriteLine();

            // Create a non-standard markup element.
            writer.RenderBeginTag("MyTag");
            writer.Write("Contents of MyTag");
            writer.RenderEndTag();
            writer.WriteLine();

            // Create a manually rendered <img> element 
            // that contains an alt attribute.
            writer.WriteBeginTag("img");
            writer.WriteAttribute("alt", "A custom image.");
            writer.Write(HtmlTextWriter.TagRightChar);
            writer.WriteEndTag("img");
            writer.WriteLine();

            writer.Indent--;
            writer.RenderEndTag();

        }

.NET Framework

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

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.