当前位置:中国站长下载文章中心网页编程.NET编程 → ASP.NET2.0服务器控件之Render方法(3)

ASP.NET2.0服务器控件之Render方法(3)

减小字体 增大字体 作者:不详  来源:不详  发布时间:2006-8-14 8:34:03
     可能有一些读者会问,如果将服务器控件呈现的多行代码的顺序变化一下,是否会有什么不同呢?例如,假设首先依次应用RenderBeginTag、Write、RenderEndTag方法,然后再调用AddAttribute和AddStyleAttribute方法,那么会显示相同的效果吗?答案是否定的。这里需要强调的是:在呈现控件的过程中,首先要定义服务器控件的属性和CSS样式等内容,然后再定义服务器控件的主体内容,这种顺序不能改变的。
  
    另外,如果读者感兴趣可以在代码中实现一个Text属性,用于获取或者设置控件所显示的文本。这样,在Render方法中,使用Write方法输出的"浏览网站"文字内容则可由Text属性代替。
  
    下面列举了为使用以上的自定义服务器控件,而创建的Default.ASPx文件源代码。
  
  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  <%@ ReGISter TagPrefix="Sample" Assembly="UsingRenderControl" Namespace="UsingRenderControl" %>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html XMLns="http://www.w3.org/1999/xhtml">
  <head runat="server">
  <title>使用Render方法实现控件呈现</title>
  </head>
  <body>
  <form id="form1" runat="server">
  <div>
  <Sample:RenderControl runat="server" ID="CustomerControl" LinkUrl="http://www.microsoft.com/">
  </Sample:RenderControl>
  </div>
  </form>
  </body>
  </html>
  
    以上代码比较简单,其中主要声明了自定义服务器控件RenderControl,并设置其LinkUrl属性值为http://www.microsoft.com,即微软站点地址。
  
    当用户在浏览器中运行以上页面,并查看相关的Html源文件时,可得到如下的代码:
  
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html XMLns="http://www.w3.org/1999/xhtml">
  <head>
  <title> 使用Render方法实现控件呈现</title>
  </head>
  <body>
  <form name="form1" method="post" action="Default.aspx" id="form1">
  <div>
  <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzMyMTY5NTU2ZGQQYrLd/G+vm1h41r2CEkxID63o5g==" />
  </div>
  <div>
  <a href="http://www.microsoft.com/" style="color:red;">浏览网站</a>
  </div>
  </form>
  </body>
  </html>
  
    通过观察以上代码可知,自定义服务器控件RenderControl实际呈现的结果是粗体所示部分的代码,其最终呈现为一个表示超链接的<a>标记。
  
    小结
  
    本文首先介绍了HtmlTextWriter类的基本知识,然后讲解了使用Render方法实现控件呈现的应用。在随后的一篇文章中,笔者将说明另外一种实现控件呈现的方法。从服务器控件开发技术总体而言,控件呈现技术是开发过程中最为常用,也是最为简单的内容。建议读者能够熟练掌握其中的内容。  做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。