服务器控件开发起步(一):控件呈现
控件呈现是指向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) 编辑 收藏 举报