Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
Collapse All/Expand All Collapse All
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
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.

Namespace:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Visual Basic (Declaration)
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public Class Html32TextWriter _
    Inherits HtmlTextWriter
Visual Basic (Usage)
Dim instance As Html32TextWriter
C#
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class Html32TextWriter : HtmlTextWriter
Visual C++
[AspNetHostingPermissionAttribute(SecurityAction::LinkDemand, Level = AspNetHostingPermissionLevel::Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction::InheritanceDemand, Level = AspNetHostingPermissionLevel::Minimal)]
public ref class Html32TextWriter : public HtmlTextWriter
JScript
public class Html32TextWriter extends HtmlTextWriter

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 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.

Visual Basic
' Create a custom HtmlTextWriter class that overrides 
' the RenderBeforeContent and RenderAfterContent methods.
Imports System
Imports System.IO
Imports System.Web.UI

Namespace Examples.AspNet


   Public Class CustomHtml32TextWriter
      Inherits Html32TextWriter

        ' Create a constructor for the class
        ' that takes a TextWriter as a parameter.
        Public Sub New(ByVal writer As TextWriter)
            Me.New(writer, DefaultTabString)
        End Sub

        ' Create a constructor for the class that takes
        ' a TextWriter and a string as parameters. 
        Public Sub New(ByVal writer As TextWriter, ByVal tabString As String)
            MyBase.New(writer, tabString)
        End Sub

        ' Override the RenderBeforeContent method to render
        ' styles before rendering the content of a <th> element.
        Protected Overrides Function RenderBeforeContent() As String
            ' 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 Then
                If (SupportsBold) Then
                    Return "<b>"
                Else
                    Return "<font color=""FF0000"">"
                End If
            End If

            ' 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 Then
                If (SupportsItalic) Then
                    Return "<i>"
                Else
                    Return "<font color=""000080"">"
                End If
            End If
            ' Call the base method.
            Return MyBase.RenderBeforeContent()
        End Function

        ' Override the RenderAfterContent method to close
        ' styles opened during the call to the RenderBeforeContent
        ' method.
        Protected Overrides Function RenderAfterContent() As String

            ' 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 Then
                If SupportsBold Then
                    Return "</b>"
                Else
                    Return "</font>"
                End If
            End If

            ' 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 Then
                If (SupportsItalic) Then
                    Return "</i>"
                Else
                    Return "</font>"
                End If
            End If
            ' Call the base method.
            Return MyBase.RenderAfterContent()
        End Function

        ' 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 Overrides Function RenderBeforeTag() As String
            ' 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 Then
                Return "<small>"
            End If
            Return MyBase.RenderBeforeTag()
        End Function

        ' Override the RenderAfterTag method to render
        ' close any elements opened in the RenderBeforeTag
        ' method call.
        Protected Overrides Function RenderAfterTag() As String
            ' 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 Then
                Return "</small>"
            End If
            Return MyBase.RenderAfterTag()
        End Function
    End Class
End Namespace
C#
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();
        }
    }
}
System..::.Object
  System..::.MarshalByRefObject
    System.IO..::.TextWriter
      System.Web.UI..::.HtmlTextWriter
        System.Web.UI..::.Html32TextWriter
          System.Web.UI..::.ChtmlTextWriter
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement | Site Feedback
Page view tracker