HtmlTextWriter 类

将标记字符和文本写入到 ASP.NET 服务器控件输出流。此类提供 ASP.NET 服务器控件在向客户端呈现标记时所使用的格式设置功能。

**命名空间:**System.Web.UI
**程序集:**System.Web(在 system.web.dll 中)

语法

声明
Public Class HtmlTextWriter
    Inherits TextWriter
用法
Dim instance As HtmlTextWriter
public class HtmlTextWriter : TextWriter
public ref class HtmlTextWriter : public TextWriter
public class HtmlTextWriter extends TextWriter
public class HtmlTextWriter extends TextWriter

备注

HtmlTextWriter 类用于向桌面浏览器呈现 HTML 4.0。HtmlTextWriter 也是 System.Web.UI 命名空间中所有标记编写器的基类,这些编写器包括 ChtmlTextWriterHtml32TextWriterXhtmlTextWriter 类。这些类用于针对不同的标记类型编写元素、属性、样式和布局信息。此外,与每种标记语言相关联的页和控件适配器类也使用这些类。

大多数情况下,ASP.NET 会自动为请求设备使用合适的编写器。但是,如果创建自定义文本编写器或者要为某个设备指定特定的编写器来呈现某页,则必须在应用程序的 .browser 文件的 controlAdapters 节中将相应的编写器映射到该页。

主题 位置
演练:开发和使用自定义服务器控件 创作 ASP.NET 控件
为 ASP.NET 1.1 开发自定义数据绑定 Web 服务器控件 创作 ASP.NET 控件
为 ASP.NET 2.0 开发自定义数据绑定 Web 服务器控件 创作 ASP.NET 控件
演练:为 ASP.NET 2.0 创建自定义数据绑定 ASP.NET Web 控件 创作 ASP.NET 控件
演练:为 ASP.NET 1.1 创建自定义数据绑定 ASP.NET Web 控件 创作 ASP.NET 控件
演练:开发和使用自定义服务器控件 使用 Visual Web Developer 生成应用程序
为 ASP.NET 2.0 开发自定义数据绑定 Web 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
演练:为 ASP.NET 2.0 创建自定义数据绑定 ASP.NET Web 控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
为 ASP.NET 1.1 开发自定义数据绑定 Web 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
为 ASP.NET 2.0 开发自定义数据绑定 Web 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
演练:为 ASP.NET 2.0 创建自定义数据绑定 ASP.NET Web 控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
演练:为 ASP.NET 1.1 创建自定义数据绑定 ASP.NET Web 控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
为 ASP.NET 1.1 开发自定义数据绑定 Web 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
演练:为 ASP.NET 1.1 创建自定义数据绑定 ASP.NET Web 控件 在 Visual Studio 中生成 ASP .NET Web 应用程序

示例

下面的代码示例演示如何重写从 Control 类派生的自定义控件的 Render 方法。此代码示例阐释了如何使用各种 HtmlTextWriter 方法、属性和字段。

' Overrides the Render method to write a <span> element
' that applies styles and attributes.     
Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)

    ' 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 += 1

    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 -= 1
    writer.RenderEndTag()

End Sub 'Render
// 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();

}

继承层次结构

System.Object
   System.MarshalByRefObject
     System.IO.TextWriter
      System.Web.UI.HtmlTextWriter
         System.Web.UI.Html32TextWriter
         System.Web.UI.MobileControls.Adapters.MultiPartWriter
         System.Web.UI.XhtmlTextWriter

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

HtmlTextWriter 成员
System.Web.UI 命名空间
TextWriter
Control 类
Page
ControlAdapter
PageAdapter
ChtmlTextWriter 类
Html32TextWriter 类
XhtmlTextWriter
Control.Render