服务器控件开发起步(一):控件呈现

控件呈现是指向Http输出流中写入标记文本的过程。服务器通过Http输出向客户端发送生成的标记文本(可以想象成asp中的Response.Write方法,当然复杂性和灵活性还是有很大差别的)。

一、        控件呈现机理

控件呈现Render方法:

protected virtual void Render(HttpTextWriter output)

呈现原理:向Http输出流写入标记文本。所谓的控件呈现就是把要呈现的控件及样式写入Http输出流中,一切呈现都要围绕其原理来实现。

二、        输出流HttpTextWriter类

该类就是用于在web页面上呈现一系列的html代码和文本。

常用方法:

public virtual void AddAttribute(HtmlTextWriterAttribute,string);

public virtual void AddStyleAttribute(HtmlTextWriterStyle,string);

public override void Write(string);//写入html文本流

public virtual void WriteAttribute(string,string);

public virtual void WriteBeginTag(string tagName);

public virtual void WriteEndTag(string tagName);

public virtual RenderBeginTag(HtmlTextWriterTag);

public virtual RenderEndTag();

三、        使用Control类的呈现方法

Control类的三个用于控件呈现的方法:

protected virtual void Render(HtmlTextWriter writer);

protected virtual void RendChildren(HtmlTextWriter writer);

protected virtual void RenderControl(HtmlTextWriter writer);

在呈现控件的过程中,首先要定义服务器控件的属性和css样式等内容,然后才能定义服务器空间的主题内容,这中顺序是不能变的,否则就会出错。

四、        使用WebControl类的呈现方法

常用方法:

protected virtual void AddAttributeToRender(HtmlTextWriter writer);

protected override void Render(HtmlTextWriter writer);

protected virtual RenderContents(HtmlTextWriter writer);

public virtual void RenderBeginTag(HtmlTextWriter writer);

public virtual void RendEndTag(HtmlTextWriter writer);

public void ApplyStyle(Style s);

public void MergeStyle(style s);

protected virtual Style CreateControlStyle();

WebControl类中的Render和RenderContents方法,主要使用RenderContents方法来呈现控件。

posted on 2006-02-25 09:08  littlewood  阅读(221)  评论(0编辑  收藏  举报

导航