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)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Dispose()

釋放由 TextWriter 物件使用的所有資源。

(繼承來源 TextWriter)
Dispose(Boolean)

釋放 TextWriter 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 TextWriter)
DisposeAsync()

以非同步方式釋放由 TextWriter 物件使用的所有資源。

(繼承來源 TextWriter)
EncodeAttributeValue(HtmlTextWriterAttribute, String)

根據目前內容中 HttpRequest 物件的需求來編碼指定標記屬性的值。

EncodeAttributeValue(String, Boolean)

根據目前內容中 HttpRequest 物件的需求來編碼指定標記屬性的值。

EncodeUrl(String)

執行最少的 URL 編碼,透過的方式是將指定 URL 中的空格轉換為字串 "%20"。

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()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 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 參數編碼,然後將此 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)

適用於

另請參閱