首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

正常在什么时候需要对服务器控件进行扩展后再使用

2013-10-16 
一般在什么时候需要对服务器控件进行扩展后再使用看到一段这样的代码:namespace Jiaen.Controls{public cl

一般在什么时候需要对服务器控件进行扩展后再使用
看到一段这样的代码:

namespace Jiaen.Controls
{
   public class ServiceLabel:Label
    {

       public override string Text
       {
           get
           {
               return SiteSetting.GetSiteSettings("jiaen").SiteBottomDec;
           }
           set
           {
               base.Text = value;
           }
       }
    }
}


以上的代码对asp.net自带的服务器控件Label控件进行了扩展,重写了Text属性,我想知道在什么情况下要这么做?在开发过程中有时会因为性能问题不用服务器控件,以上的代码对服务器控件进行了扩展,并没有在性能上提高吧?还是有多余的viewstate产生吧?

那么在开发的时候如果要编写自定义控件一般来讲会怎么做?会直接继承继承WebControl类吗?能否给个例子参考下?
[解决办法]
1、在有控件的功能无法很好的满足你的开发需求,但是如果自定义一个控件能够减少你的工作量,同时后期维护方便,在一定程度能复用的情况下可以开发这么一个服务器控件。
2、性能没提高。
3、ViewState你可以禁止

[解决办法]
引用:
Quote: 引用:

如果你希望重用和扩展的时候,你使用继承是再好不过的。因为你把复杂性隐藏到控件的内部,而对调用者来说保持了简单。

我在问题描述中给出的代码是我偶然间在网上看到的,我想问的是在有必要编写自定义控件时一般来讲哪种做法更常见,是继承自带的服务器控件并进行扩展同时从性能的角度出发禁用viewstate,还是说只继承最基本的基类,自己重写大部分功能,判断的基准是什么?


如果你要用100个控件,每个都需要相同的配置或者扩展下,你觉得继承一个方便还是直接写代码去操作它方便。

热点排行