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는 ChtmlTextWriter, Html32TextWriter 및 XhtmlTextWriter 클래스를 비롯하여 System.Web.UI 네임스페이스의 모든 태그 작성기에 대한 기본 클래스이기도 합니다. 이러한 클래스들은 다양한 형식의 태그에 대한 요소, 특성, 스타일 및 레이아웃 정보를 쓰는 데 사용됩니다. 또한 각 태그 언어와 관련된 페이지와 컨트롤 어댑터 클래스에서도 사용됩니다.
대부분의 경우 ASP.NET에서는 요청하는 장치에 적절한 작성기를 자동으로 사용합니다. 그러나 사용자 지정 텍스트 작성기를 만들거나 특정 장치의 페이지를 렌더링할 특정한 작성기를 지정하려는 경우에는 응용 프로그램 브라우저 파일의 controlAdapters 섹션에서 작성기를 페이지에 매핑해야 합니다.
예제
다음 코드 예제에서는 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 "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 '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 "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();
}
상속 계층 구조
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
스레드로부터의 안전성
이 형식의 모든 public static(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