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
继承
派生

示例

下面的代码示例演示如何重写 Render 派生自 Control 类的自定义控件的方法。 该代码示例演示如何使用各种 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)
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(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(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)

适用于

另请参阅