zoukankan      html  css  js  c++  java
  • System.Web.UI.WebControls RenderContents

    WebControl类包括三个构造函数,它们都用于初始化WebControl类的新实例,然而它们之间还存在一些细小的差异。

      (1)protected WebControl ()

      该构造函数用于初始化表示Span HTML元素的WebControl类的新实例。通常情况下,开发人员并不直接调用此构造函数。相反,它通常由派生类的构造函数调用以将TagKey属性初始化为Span枚举值。在随后的示例中,将重写TagKey属性,从而调用此构造函数。

      (2)public WebControl (HtmlTextWriterTag tag)

      开发人员可使用此构造函数创建并初始化使用指定的System.Web.UI.HtmlTextWriterTag值的WebControl类的新实例。其中的参数tag表示HtmlTextWriterTag枚举值之一。可能读者对于HtmlTextWriterTag还不太熟悉。它是一个枚举类型,其枚举值多为HTML标记,例如,A、B、Bold、Button等等。

      (3)protected WebControl (string tag)

      使用此构造函数可创建并初始化使用指定的HTML标记的WebControl类的新实例。其中参数tag表示HTML标记。当使用该构造函数时一定要注意:不能直接调用此构造函数。相反,它通常由派生类的构造函数调用以初始化TagKey和TagName属性。

    在WebControl基类中的Render方法的实现示意性代码如下所示:

    protected override void Render(HtmlTextWriter output)
    {
     RenderBeginTag(output);
     RenderContents(output);
     RenderEndTag(output);
    }

      在WebControl基类中的RenderBeginTag方法的实现示意性代码如下:

    public virtual void RenderBeginTag(HtmlTextWriter output)
    {
     AddAttributesToRender(output);
     HtmlTextWriterTag tagKey = TagKey;
     if(tagKey != HtmlTextWriterTag.Unknown)
     {
      output.RenderBeginTag(tagKey);
     } else {
      output.RenderBeginTag(this.TagName);
     }
    }

      在WebControl基类中的RenderContents方法的实现示意性代码如下:

    protected override void RenderContents(HtmlTextWriter output){
     //使用默认逻辑来呈现子控件,那么一定要调用基类中的方法。
     base.Render(output);
    }

  • 相关阅读:
    Fiddler抓包使用教程-安装配置
    Fiddler抓包使用教程-扫盲篇
    【Python3 爬虫】14_爬取淘宝上的手机图片
    【Python3 爬虫】13_爬取博客园首页所有文章
    【Python3 爬虫】12_代理IP的使用
    【Python】self的用法扫盲
    【Python3 爬虫】11_报错No module named 'requests'
    【Python3 爬虫】10_Beautiful Soup库的使用
    【DB2】国标行业分类存储,通过SQL查询出层级关系
    【Python3 爬虫】09_正则表达式(re.math()、re.search()、re.sub()、全局匹配函数)
  • 原文地址:https://www.cnblogs.com/chenghm2003/p/1151850.html
Copyright © 2011-2022 走看看