控件呈现是指向HTTP输出流中写入标记文本的过程。服务器通过HTTP输出流向客户端发送生成的标记文本,这些文本将会通过客户端浏览器转换为可视化的元素显示出来。 
						
							控件呈现是指向HTTP输出流中写入标记文本的过程。
服务器通过HTTP输出流向客户端发送生成的标记文本,这些文本将会通过客户端浏览器转换为可视化的元素显示出来。使用控件呈现,开发人员可以将HTML标记、脚本代码、CSS样式表等等输入到客户端浏览器。实现服务器控件呈现主要有两种方式:一是Control类的Render方法,二是WebControl的RenderContents方法。本文重点介绍使用Control类的Render方法实现控件呈现的应用。  
使用HtmlTextWriter类  Control类的Render方法主要用于实现控件呈现,其声明代码如下:
| protected virtual void Render(HtmlTextWriter output) | 
  如上代码所示,Render方法的参数是一个HtmlTextWriter类型。为了更好的应用Render方法,读者应首先了解HtmlTextWriter类及其相关内容。
  根据MSDN2005的描述,HtmlTextWriter类用于将标记字符和文本写入到ASP.NET服务器控件输出流。此类提供了ASP.NET服务器控件在向客户端呈现标记时所使用的格式设置功能。为了实现类的功能,HtmlTextWriter类定义了多个字段、属性和方法。由于成员对象众多,本文只挑选了一些常用成员加以说明,同时,还将介绍一些ASP.NET 2.0的新增成员。
  常用成员对象包括:
  ·AddAttribute方法
  对于HtmlTextWriter对象通过对RenderBeginTag方法的后续调用创建的元素,向其开始标记中添加指定的标记属性和值。
  ·AddStyleAttribute方法
  对于 HtmlTextWriter 对象通过对 RenderBeginTag 方法的后续调用创建的元素,向其开始标记中添加标记样式属性。
  ·Write方法
  将指定数据类型连同任何挂起的制表符间距一起写入到输出流。
  ·WriteAttribute方法
  将标记属性及其值写入到输出流。
  ·WriteBeginTag方法
  任何制表符间距和指定标记元素的开始标记写入到输出流。
  ·WriteEndTag方法
  写入指定的标记元素的任何制表符间距和结束标记。
  ·Encoding属性
  获取 HtmlTextWriter 对象用于将内容写入页的编码。
  ·Indent属性
  获取或设置用以缩进每一行标记的开始位置的制表符位置数。
  ·NewLine属性
  获取或设置由 HtmlTextWriter 对象使用的行结束符字符串。
  对于初学者而言,建议重点掌握以上成员对象的应用。另外,ASP.NET 2.0还为HtmlTextWriter类新增了一些成员,这些成员包括:
  ·BeginRender方法
  通知 HtmlTextWriter 对象或派生类的对象,某个控件将会呈现。
  ·EndRender方法
  通知 HtmlTextWriter 对象或某个派生类的对象,某控件已完成呈现。
  ·IsValidFormAttribute方法
  检查一个属性以确保它可以在 <form> 标记元素的开始标记中呈现。
  ·WriteEncodedUrl方法
  对指定的 URL 进行编码,然后将它写入到输出流。URL 可以包括参数。
  ·WriteEncodedText方法
  对请求的设备的指定文本进行编码,然后将其写入到输出流。
  ·WriteBreak方法
  将 <br /> 标记元素写入到输出流。 
查看本文来源