快速业务通道

Discuz!NT控件剖析之Button

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-19

在开源之后,还没什么文章来说明 Discuz!NT项目的一些特点。作为这个控件库的设计者,本人
将在接下来的时间里用连载的方式来向大家解释其中一些控件的设计思想,实现功能以及一些未曾
使用过的功能展示(因为管理后台只使用控件的部分功能)。同时因为这组控件开发的周期很短(当
时仅用一个半月,后不断增强功能),有不少思路和控件设计的规范相驳,但当时只考虑为后台程序
开发和订制方便,因此就暂且开发成了这个样子,但本人日后会不断完善和规范这些代码:)


         为了便于大家下载和使用这组控件,本人在源代码的基本上去掉了与项目相关的一些令人费解的
的代码。同时把相关的控件与具体运行实例相绑定,这只是为了让大家使用和分析方便,必定不是库
中所有控件大家都愿意用或感兴趣。正所谓投其所好嘛。另外下载包中的文件所在的项目和文件位置
也是与开源项目中的配置相一致的,这么搞可以方便大家按图索骥,以便于同步开源项目中的文件。

         同时,本人也希望园子里同行在使用和测试这组代码时将您的意见或建议提出来,以便改进和优
化代码。还有就是这些控件代码是能在.net1.0 .net2.0框架上运行。欢迎大家使用:)

         好了,今天就先说一下 Button 控件。

         先贴一张运行效果图让大家看一下:

 


开发动机:在去年10月底时,后台UI进行了一次重构,因为对.net 中的button控件和图片按钮
控件感到控制不灵活(项目需要一个既有text 属性,又有img字段属性的按钮)。在看到了CS项目中
所使用的按钮后,决定尝试实现与其类似的功能设计。另外因为当时设计部无法对我们直接进行支持,
所以决定样式(css)直接采用cs中所使用的样式(偷个赖)。

        实现功能:希望提供两种或以上的按钮样式,同时支持JS脚本注册,以及在客户端表单验证等。
    
         因为要求做出多个显示样式,所以使用枚举方式显示可能选择的样式类型,相关代码如下:

#region properytyButtontypeMode 按钮样式
    public enum ButtonType
     {
         Normal,   //普通
       WithImage,  //带图
         XpStyle  //不带图
    }


       public ButtonType ButtontypeMode
      {
         get
        {
            object obj = ViewState["ButtontypeMode"];
              return obj == null ? ButtonType.WithImage : (ButtonType)obj;
           }
       set
         {
             ViewState["ButtontypeMode"] = value;
        }
     }
    

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号