HtmlTextWriter 类

定义

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

public ref class HtmlTextWriter : System::IO::TextWriter
public class HtmlTextWriter : System.IO.TextWriter
type HtmlTextWriter = class
    inherit TextWriter
Public Class HtmlTextWriter
Inherits TextWriter
继承
派生

示例

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

// 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 "encoding " 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();
}
' 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 "encoding " 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

注解

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

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

构造函数

HtmlTextWriter(TextWriter)

初始化使用默认制表符字符串的 HtmlTextWriter 类的新实例。

HtmlTextWriter(TextWriter, String)

使用指定的制表符字符串字符初始化 HtmlTextWriter 类的新实例。

字段

CoreNewLine

存储用于此 TextWriter的换行符。

(继承自 TextWriter)
DefaultTabString

表示单个制表符。

DoubleQuoteChar

表示引号 (“) 字符。

EndTagLeftChars

表示标记元素的左尖括号和斜杠标记(</)。

EqualsChar

表示等号(=)。

EqualsDoubleQuoteString

表示一个等号 (=) 和一个双引号 (“) 在字符串 (=) 中一起。

SelfClosingChars

表示标记标记的空格和自右斜杠标记 (/)。

SelfClosingTagEnd

表示自结束标记元素的右斜杠标记和右尖括号(/>)。

SemicolonChar

表示分号(;))。

SingleQuoteChar

表示撇号 (')。

SlashChar

表示斜杠标记(/)。

SpaceChar

表示空格 () 字符。

StyleEqualsChar

表示用于设置样式属性等于值的样式属性的样式等于 (:) 字符。

TagLeftChar

表示标记标记的左尖括号(<)。

TagRightChar

表示标记标记的右尖括号(>)。

属性

Encoding

获取 HtmlTextWriter 对象用于将内容写入页面的编码。

FormatProvider

获取一个对象,该对象控制格式设置。

(继承自 TextWriter)
Indent

获取或设置要缩进每行标记开头的制表位数。

InnerWriter

获取或设置写入标记元素的内部内容的文本编写器。

NewLine

获取或设置 HtmlTextWriter 对象使用的行终止符字符串。

TagKey

获取或设置指定标记元素的 HtmlTextWriterTag 值。

TagName

获取或设置正在呈现的标记元素的标记名称。

方法

AddAttribute(HtmlTextWriterAttribute, String)

将标记属性和属性值添加到 HtmlTextWriter 对象通过对 RenderBeginTag 方法的后续调用创建的元素的开始标记。

AddAttribute(HtmlTextWriterAttribute, String, Boolean)

使用可选编码,将标记属性和属性值添加到 HtmlTextWriter 对象通过后续调用 RenderBeginTag 方法创建的元素的开始标记。

AddAttribute(String, String)

将指定的标记特性和值添加到 HtmlTextWriter 对象通过对 RenderBeginTag 方法的后续调用创建的元素的开始标记。

AddAttribute(String, String, Boolean)

使用可选编码将指定的标记特性和值添加到 HtmlTextWriter 对象通过对 RenderBeginTag 方法的后续调用创建的元素的开始标记。

AddAttribute(String, String, HtmlTextWriterAttribute)

将指定的标记特性和值以及 HtmlTextWriterAttribute 枚举值添加到 HtmlTextWriter 对象通过对 RenderBeginTag 方法的后续调用创建的元素的开始标记。

AddStyleAttribute(HtmlTextWriterStyle, String)

将与指定的 HtmlTextWriterStyle 值关联的标记样式属性和属性值添加到由对 RenderBeginTag 方法的后续调用创建的开始标记标记中。

AddStyleAttribute(String, String)

将指定的标记样式特性和属性值添加到由对 RenderBeginTag 方法的后续调用创建的开始标记标记。

AddStyleAttribute(String, String, HtmlTextWriterStyle)

将指定的标记样式特性和属性值以及 HtmlTextWriterStyle 枚举值添加到 RenderBeginTag 方法的后续调用创建的开始标记标记。

BeginRender()

通知 HtmlTextWriter 对象或派生类的对象,控件即将呈现。

Close()

关闭 HtmlTextWriter 对象并释放与其关联的任何系统资源。

CreateObjRef(Type)

创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。

(继承自 MarshalByRefObject)
Dispose()

释放 TextWriter 对象使用的所有资源。

(继承自 TextWriter)
Dispose(Boolean)

释放 TextWriter 使用的非托管资源,并选择性地释放托管资源。

(继承自 TextWriter)
DisposeAsync()

异步释放 TextWriter 对象使用的所有资源。

(继承自 TextWriter)
EncodeAttributeValue(HtmlTextWriterAttribute, String)

根据当前上下文 HttpRequest 对象的要求对指定标记特性的值进行编码。

EncodeAttributeValue(String, Boolean)

根据当前上下文 HttpRequest 对象的要求对指定标记特性的值进行编码。

EncodeUrl(String)

通过将指定 URL 中的空格转换为字符串“%20”来执行最小 URL 编码。

EndRender()

通知控件已完成呈现的 HtmlTextWriter 对象或派生类的对象。 可以使用此方法关闭在 BeginRender() 方法中打开的任何标记元素。

EnterStyle(Style)

写入 <span> 元素的开始标记,该元素包含实现指定样式的布局和字符格式的属性。

EnterStyle(Style, HtmlTextWriterTag)

写入标记元素的开始标记,该标记元素包含实现指定样式的布局和字符格式的属性。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
ExitStyle(Style)

写入 <span> 元素的结束标记以结束指定的布局和字符格式。

ExitStyle(Style, HtmlTextWriterTag)

写入指定标记元素的结束标记以结束指定的布局和字符格式。

FilterAttributes()

删除页面或 Web 服务器控件的所有属性上的所有标记和样式属性。

Flush()

清除当前 HtmlTextWriter 对象的所有缓冲区,并导致任何缓冲数据写入输出流。

FlushAsync()

异步清除当前编写器的所有缓冲区,并导致任何缓冲数据写入基础设备。

(继承自 TextWriter)
FlushAsync(CancellationToken)

异步清除当前编写器的所有缓冲区,并导致任何缓冲数据写入基础设备。

(继承自 TextWriter)
GetAttributeKey(String)

获取指定属性的相应 HtmlTextWriterAttribute 枚举值。

GetAttributeName(HtmlTextWriterAttribute)

获取与指定 HtmlTextWriterAttribute 值关联的标记属性的名称。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetStyleKey(String)

获取指定样式的 HtmlTextWriterStyle 枚举值。

GetStyleName(HtmlTextWriterStyle)

获取与指定 HtmlTextWriterStyle 枚举值关联的标记样式属性名称。

GetTagKey(String)

获取与指定标记元素关联的 HtmlTextWriterTag 枚举值。

GetTagName(HtmlTextWriterTag)

获取与指定 HtmlTextWriterTag 枚举值关联的标记元素。

GetType()

获取当前实例的 Type

(继承自 Object)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
IsAttributeDefined(HtmlTextWriterAttribute)

确定在下次调用 RenderBeginTag 方法期间是否呈现指定的标记特性及其值。

IsAttributeDefined(HtmlTextWriterAttribute, String)

确定在下次调用 RenderBeginTag 方法期间是否呈现指定的标记特性及其值。

IsStyleAttributeDefined(HtmlTextWriterStyle)

确定在下次调用 RenderBeginTag 方法期间是否呈现指定的标记样式属性。

IsStyleAttributeDefined(HtmlTextWriterStyle, String)

确定在下次调用 RenderBeginTag 方法期间是否呈现指定的标记样式特性及其值。

IsValidFormAttribute(String)

检查属性以确保可以在 <form> 标记元素的开始标记中呈现它。

MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
OnAttributeRender(String, String, HtmlTextWriterAttribute)

确定指定的标记特性及其值是否可以呈现到当前标记元素。

OnStyleAttributeRender(String, String, HtmlTextWriterStyle)

确定指定的标记样式特性及其值是否可以呈现到当前标记元素。

OnTagRender(String, HtmlTextWriterTag)

确定是否将指定的标记元素呈现到请求页。

OutputTabs()

编写一系列选项卡字符串,这些字符串表示标记字符行的缩进级别。

PopEndTag()

从呈现的元素列表中删除最近保存的标记元素。

PushEndTag(String)

保存指定的标记元素供以后在生成标记元素的结束标记时使用。

RegisterAttribute(String, HtmlTextWriterAttribute)

从源文件中注册标记属性(无论是文本还是动态生成),以便正确呈现给请求客户端。

RegisterStyle(String, HtmlTextWriterStyle)

从源文件注册标记样式属性(无论是文本还是动态生成),以便正确呈现给请求客户端。

RegisterTag(String, HtmlTextWriterTag)

从源文件注册标记(无论是文本还是动态生成),以便可以正确呈现给请求客户端。

RenderAfterContent()

将内容之后以及标记元素的结束标记之前发生的任何文本或间距写入标记输出流。

RenderAfterTag()

写入标记元素的结束标记之后发生的任何间距或文本。

RenderBeforeContent()

在内容和标记元素的开始标记之后写入任何文本或间距。

RenderBeforeTag()

写入标记元素的开始标记之前发生的任何文本或间距。

RenderBeginTag(HtmlTextWriterTag)

将与指定的 HtmlTextWriterTag 枚举值关联的标记元素的开始标记写入输出流。

RenderBeginTag(String)

将指定标记元素的开始标记写入输出流。

RenderEndTag()

将标记元素的结束标记写入输出流。

ToString()

返回一个表示当前对象的字符串。

(继承自 Object)
Write(Boolean)

将布尔值的文本表示形式写入输出流,以及任何挂起的制表符间距。

Write(Char)

将 Unicode 字符的文本表示形式写入输出流,以及任何挂起的制表符间距。

Write(Char[])

将 Unicode 字符数组的文本表示形式写入输出流,以及任何挂起的制表符间距。

Write(Char[], Int32, Int32)

将 Unicode 字符的子数组的文本表示形式写入输出流,以及任何挂起的制表符间距。

Write(Decimal)

将小数值的文本表示形式写入文本流。

(继承自 TextWriter)
Write(Double)

将双精度浮点数的文本表示形式写入输出流,以及任何挂起的制表符间距。

Write(Int32)

将 32 字节带符号整数的文本表示形式写入输出流,以及任何挂起的制表符间距。

Write(Int64)

将 64 字节带符号整数的文本表示形式写入输出流,以及任何挂起的制表符间距。

Write(Object)

将对象的文本表示形式写入输出流,以及任何挂起的制表符间距。

Write(ReadOnlySpan<Char>)

将字符范围写入文本流。

(继承自 TextWriter)
Write(Single)

将单精度浮点数的文本表示形式写入输出流,以及任何挂起的制表符间距。

Write(String)

将指定的字符串写入输出流,以及任何挂起的制表符间距。

Write(String, Object)

使用与 Format(String, Object) 方法相同的语义以及任何挂起的制表符间距,将制表符字符串和格式化字符串写入输出流。

Write(String, Object, Object)

将包含两个对象的文本表示形式的格式化字符串写入输出流,以及任何挂起的制表符间距。 此方法使用与 Format(String, Object, Object) 方法相同的语义。

Write(String, Object, Object, Object)

使用与 Format(String, Object, Object, Object) 方法相同的语义将格式化字符串写入文本流。

(继承自 TextWriter)
Write(String, Object[])

将包含对象数组的文本表示形式的格式化字符串写入输出流,以及任何挂起的制表符间距。 此方法使用与 Format(String, Object[]) 方法相同的语义。

Write(String, ReadOnlySpan<Object>)

使用与 Format(String, ReadOnlySpan<Object>)相同的语义将格式化字符串写入文本流。

(继承自 TextWriter)
Write(StringBuilder)

将字符串生成器写入文本流。

(继承自 TextWriter)
Write(UInt32)

将 4 字节无符号整数的文本表示形式写入文本流。

(继承自 TextWriter)
Write(UInt64)

将 8 字节无符号整数的文本表示形式写入文本流。

(继承自 TextWriter)
WriteAsync(Char)

以异步方式将字符写入文本流。

(继承自 TextWriter)
WriteAsync(Char[])

以异步方式将字符数组写入文本流。

(继承自 TextWriter)
WriteAsync(Char[], Int32, Int32)

以异步方式将字符的子数组写入文本流。

(继承自 TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

将字符内存区域异步写入文本流。

(继承自 TextWriter)
WriteAsync(String)

以异步方式将字符串写入文本流。

(继承自 TextWriter)
WriteAsync(StringBuilder, CancellationToken)

将字符串生成器异步写入文本流。

(继承自 TextWriter)
WriteAttribute(String, String)

将指定的标记特性和值写入输出流。

WriteAttribute(String, String, Boolean)

将指定的标记特性和值写入输出流,如果指定,则写入编码的值。

WriteBeginTag(String)

将指定标记元素的任何制表符间距和开始标记写入输出流。

WriteBreak()

<br /> 标记元素写入输出流。

WriteEncodedText(String)

对请求设备的指定文本进行编码,然后将其写入输出流。

WriteEncodedUrl(String)

对指定的 URL 进行编码,然后将其写入输出流。 URL 可能包含参数。

WriteEncodedUrlParameter(String)

为请求设备编码指定的 URL 参数,然后将其写入输出流。

WriteEndTag(String)

写入指定标记元素的任何制表符间距和结束标记。

WriteFullBeginTag(String)

将指定标记元素的任何制表符间距和开始标记写入输出流。

WriteLine()

将行终止符字符串写入输出流。

WriteLine(Boolean)

将任何挂起的制表符间距和布尔值的文本表示形式(后跟行终止符字符串)写入输出流。

WriteLine(Char)

将任何挂起的制表符间距和 Unicode 字符(后跟行终止符字符串)写入输出流。

WriteLine(Char[])

将任何挂起的制表符间距和 Unicode 字符数组(后跟行终止符字符串)写入输出流。

WriteLine(Char[], Int32, Int32)

将任何挂起的制表符间距和 Unicode 字符的子数组(后跟行终止符字符串)写入输出流。

WriteLine(Decimal)

将小数值的文本表示形式写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLine(Double)

将双精度浮点数的任何挂起制表符间距和文本表示形式(后跟行终止符字符串)写入输出流。

WriteLine(Int32)

将任何挂起的制表符间距和 32 字节带符号整数的文本表示形式(后跟行终止符字符串)写入输出流。

WriteLine(Int64)

将任何挂起的制表符间距和 64 字节带符号整数的文本表示形式(后跟行终止符字符串)写入输出流。

WriteLine(Object)

将任何挂起的制表符间距和对象的文本表示形式(后跟行终止符字符串)写入输出流。

WriteLine(ReadOnlySpan<Char>)

将字符范围的文本表示形式写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLine(Single)

将单精度浮点数的任何挂起制表符间距和文本表示形式(后跟行终止符字符串)写入输出流。

WriteLine(String)

将任何挂起的制表符间距和文本字符串(后跟行终止符字符串)写入输出流。

WriteLine(String, Object)

将任何挂起的制表符间距和包含对象文本表示形式的格式化字符串(后跟行终止符字符串)写入输出流。

WriteLine(String, Object, Object)

将任何挂起的制表符间距和一个格式化字符串写入输出流,其中包含两个对象(后跟行终止符字符串)的文本表示形式。

WriteLine(String, Object, Object, Object)

使用与 Format(String, Object)相同的语义,将格式化字符串和新行写出文本流。

(继承自 TextWriter)
WriteLine(String, Object[])

将任何挂起的制表符间距和包含对象数组的文本表示形式(后跟行终止符字符串)的格式化字符串写入输出流。

WriteLine(String, ReadOnlySpan<Object>)

使用与 Format(String, ReadOnlySpan<Object>)相同的语义,将格式化字符串和新行写出文本流。

(继承自 TextWriter)
WriteLine(StringBuilder)

将字符串生成器的文本表示形式写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLine(UInt32)

将任何挂起的制表符间距和 4 字节无符号整数的文本表示形式(后跟行终止符字符串)写入输出流。

WriteLine(UInt64)

将 8 字节无符号整数的文本表示形式写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLineAsync()

将行终止符异步写入文本流。

(继承自 TextWriter)
WriteLineAsync(Char)

将字符异步写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLineAsync(Char[])

将字符数组异步写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLineAsync(Char[], Int32, Int32)

将字符的子数组异步写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

将字符内存区域的文本表示形式异步写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLineAsync(String)

将字符串异步写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

以异步方式将字符串生成器的文本表示形式写入文本流,后跟行终止符。

(继承自 TextWriter)
WriteLineNoTabs(String)

将字符串(后跟行终止符字符串)写入输出流。 此方法忽略任何指定的制表符间距。

WriteStyleAttribute(String, String)

将指定的样式属性写入输出流。

WriteStyleAttribute(String, String, Boolean)

将指定的样式特性和值写入输出流,并在指定时对值进行编码。

WriteUrlEncodedString(String, Boolean)

写入指定的字符串,根据 URL 要求对其进行编码。

显式接口实现

IDisposable.Dispose()

有关此成员的说明,请参阅 Dispose()

(继承自 TextWriter)

适用于

另请参阅