• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.net组件(8)控件的层次结构和WebControl

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

HTML服务器控件的控件从System.Web.UI.HtmlControls.HtmlControl 类派生
标准服务器控件的控件从Control 类派生,并扩展.

前面我们都是使用Control来派生.我们有很多事需要自己做.如果使用WebControl我们可以方便不少.
当然要看情况而定.

怎样才能比较直观的看出它们的差别呢?

using System;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebComponent

把以上几个控件都加入页面中.点下页面看下属性编辑器.就会发现差别了.

asp:Label相信大家很熟悉了.它便是继承至WebControl控件.
拉入一个Label控件.运行 <span >Label</span>
asp.net把Label翻译成span这个标签.
那要是我不想要span,我想要div行吗.
当然可以.
public class WebStudy3Component : Label 
{
        protected override System.Web.UI.HtmlTextWriterTag TagKey
        {
            get
            {
                //return base.TagKey; 此标签便是span
                return System.Web.UI.HtmlTextWriterTag.Div;
            }
        }
}

运行程序.<div ></div> 
完成了第一步

接下来我们就来研究下<div ></div>是怎么出来的.

我们先来看看继承至Control的控件是怎么实现这个的

public class Control1 : Control

 那继承至WebControl呢?我都没有绘.它是怎么出来呢?

public class WebStudy1Component : Label
    }

有了上面的基础之后,提升需求.
<table width="500" >
 <tr>
  <td>阿鹏</td>
 </tr>
</table>

做出这个.不要用Render直接绘出

public class WebStudy1Component : WebControl
    }

可见继承WebControl中绘制控件.主要工作已经转移到RenderContents(HtmlTextWriter writer)里了

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net应用程序性能的提高方案发布时间:2022-07-10
下一篇:
ASP.NET中Page_Load()与Page_Init()的区别发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap