1.关闭容器

Control类有Controls集合属性,即继承Control类的控件都是一个容器控件,asp.net控件内置的有PlaceHolder控件,其只继承自Control类,什么也没做。但所有控件都是继承自Control类的。如一个label控件,照样可以当容器使用.

label1.Controls.add(control)

有些控件则不需要这个功能,如Literal控件,只输出纯文字,不允许添加子控件

很简单,重写CreateControlCollection方法,返回EmptyControlCollection空集合

   protected override ControlCollection CreateControlCollection()
    {
        return new EmptyControlCollection(this);
    }

2.禁用属性

如SqlDataSourceControl控件,其继承自DataSourceControl,DataSourceControl类则继承自Control类,DataSourceControl 不需要呈现东西,自然不需要样式,所以像SkinIDEnableTheming等属性则不需要使用。同时也可以用new关键字和一些元数据禁用掉像WebControl类的一些公共属性。有时候你确实不需要这些东西,或者是将这些属性给子标签用也可以。

        /**//// <exclude/>
        /// <excludetoc/>
        [Bindable(false), Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
        new public System.Drawing.Color BorderColor
        {
            get
            {
                return new System.Drawing.Color();
            }
        }

总结:有时候继承下来的并不是你所需要的,所以灵活的重写基类的方法和属性是非常有必要的,而且有时候还必须这么做

asp.net控件开发技巧(2)关闭基类不必要的功能相关推荐

  1. 【转】Asp.net控件开发学习笔记整理篇 - WebControl基类

    最近一直在做MVC项目,对于WEBFORM 好像快忘记了.周末无聊,顺带看看他人的笔记.再次温习下. 复习大纲: 导航.页面生命周期及其它导论 一.服务器控件生命周期 二.控件开发基础 三.Asp.n ...

  2. 今天你写控件了吗?----ASP.net控件开发系列

    今天你写控件了吗?----ASP.net控件开发系列之开篇 早段时间,同事之间很流行打CS,所以那段时间的问候变成了"今天你杀XX了吗?" 控 件开发也许是程序员最能发掘自己创造力 ...

  3. 一起谈.NET技术,asp.net控件开发基础(18)

    本篇继续上篇的讨论,可能大家已经在使用asp.net2.0了,DataSource属性不再使用,而是跟数据源控件搭配使用.现在讨论的绑定技术都是基于1.1版本,先熟悉一下,本质上是一样的,这样一步步的 ...

  4. 一起谈.NET技术,asp.net控件开发基础(20)

    上面我们讨论了数据绑定控件的做法,但都未涉及到asp.net2.0中数据源控件的用法,让用惯了数据源控件的人可能感觉不适应.这次我们就开始讨论在asp.net2.0中,我们该如何重新定义数据绑定控件. ...

  5. 今天你写控件了吗?----ASP.net控件开发系列之(一)开篇

    今天你写控件了吗?----ASP.net控件开发系列之开篇 早段时间,同事之间很流行打CS,所以那段时间的问候变成了"今天你杀XX了吗?" 控件开发也许是程序员最能发掘自己创造力的 ...

  6. asp.net控件开发基础系列

    本系列文章示例源码下载.各位如遇问题,请多查msdn,多利用网络.本人可能没时间一一回复,谢谢你们的支持,希望看到此文的人都能学好控件开发 http://www.cnblogs.com/Clingin ...

  7. 一起谈.NET技术,asp.net控件开发基础(17)

    本篇将开始介绍如自定义数据绑定控件,这里感谢很多人的支持,有你们的支持很高兴.这里首先需要大家熟悉asp.net模板控件的使用,还有自定义模板控件.因为数据绑定控件多是基于模板控件的. 一.回顾 如果 ...

  8. 一起谈.NET技术,asp.net控件开发基础(13)

    1.减轻服务器压力,增加用户体验 服务器功能是强大的,客户端脚本一点也不弱,现在的ajax技术和Atlas技术就是最好的证明,我们总是期待UI有一个好的效果,flash动画给我们带来了很酷的效果,我们 ...

  9. 一起谈.NET技术,asp.net控件开发基础(9)

    写第五篇的时候,我一步步的加上元数据(特性),使得设计时效果更加好,如对复杂属性应用以下特性,使属性浏览器支持扩展/折叠效果,使你更加容易编辑子属性,但接着我又遇到了问题,所以必须去解决 1.认识默认 ...

最新文章

  1. 教你如何用阿里canal
  2. 使用netfilter_queue改包笔记
  3. 漫画:深入浅出 ES 模块
  4. SAP Spartacus header区域布局设计
  5. java junit 异常_JUnit:使用Java 8和Lambda表达式测试异常
  6. OpenGL 入门第一课 视窗以及三角形
  7. POJ 1753 Flip Game 简单BFS
  8. laravel 文件
  9. 自动化测试神器 之 python unittest 断言
  10. ABAP学习笔记之五-报表的事件 [翱翔云天 ]
  11. sola病毒doc变exe批量恢复方法
  12. 知乎周源微信_每周源代码3
  13. PS快捷键大全,记住这些就够了!
  14. YOLOv5训练KAIST数据集
  15. 户籍管理系统的设计与实现(论文+PPT+源码)
  16. 谈谈那些年玩RPG游戏时的疯狂举动
  17. anaconda常用命令
  18. vs好用吗?vs2022下载。
  19. LwIP常见问题FAQ
  20. openCV中watershed的使用

热门文章

  1. 微软拒绝修复滥用 MSTSC 的安全绕过缺陷
  2. 对接SAP人事档完成AD账号的自动授权
  3. python下使用pymongo操作mongodb
  4. 与缓存有关的http-header
  5. 新站如何迅速提高流量和被百度收录的技巧绝版
  6. java载入器材_JAVA之了解类载入器Classloader
  7. 一步一步手绘Spring IOC运行时序图二(基于XML的IOC容器初始化)
  8. 蓝桥杯 ADV-204 算法提高 快速幂
  9. 蓝桥杯 ADV-75 算法提高 简单计算器
  10. 使用Dev-C++查看vector数组中的变量值