在前一篇中《怎样实现Web控件文本框Reset的功能http://www.cnblogs.com/insus/p/4120889.html Insus.NET只实现了文本框的功能。单个或是多个,有默认值与无值。只要用户点击重置(Reset)时,我们就要以对Web控件进行重置。

参考博文,其实你完全可以写出其它的控件的重置功能来。如DropDownLsit,ListBox,CheckBox,CheckBoxList,RadioButtonList等等。

想实现什么控件Reset功能,均需要创建一个自定义类,并继承它。

下面是CheckBox控件:

ListBox控件Reset功能:

CheckBoxList控件:

DropDownList控件:

RadioButtonList控件:

下面是分别使用程序来演示:

 <asp:TextBox ID="TextBox1" runat="server" Text="Leo"></asp:TextBox><br />          

            <asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="A" Text="A"></asp:ListItem>
<asp:ListItem Value="B" Text="B"></asp:ListItem>
<asp:ListItem Value="C" Text="C"></asp:ListItem>
<asp:ListItem Value="D" Text="D"></asp:ListItem>
<asp:ListItem Value="E" Text="E"></asp:ListItem>
<asp:ListItem Value="F" Text="F"></asp:ListItem>
<asp:ListItem Value="G" Text="G"></asp:ListItem>
</asp:DropDownList><br /> <asp:CheckBox ID="CheckBox1" runat="server" /><br /> <asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatColumns="7">
<asp:ListItem Value="A" Text="A"></asp:ListItem>
<asp:ListItem Value="B" Text="B"></asp:ListItem>
<asp:ListItem Value="C" Text="C"></asp:ListItem>
<asp:ListItem Value="D" Text="D"></asp:ListItem>
<asp:ListItem Value="E" Text="E"></asp:ListItem>
<asp:ListItem Value="F" Text="F"></asp:ListItem>
<asp:ListItem Value="G" Text="G"></asp:ListItem>
</asp:CheckBoxList><br /> <asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatColumns="3">
<asp:ListItem Value="A" Text="A"></asp:ListItem>
<asp:ListItem Value="B" Text="B"></asp:ListItem>
<asp:ListItem Value="C" Text="C"></asp:ListItem>
</asp:RadioButtonList><br /> <asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple">
<asp:ListItem Value="A" Text="A"></asp:ListItem>
<asp:ListItem Value="B" Text="B"></asp:ListItem>
<asp:ListItem Value="C" Text="C"></asp:ListItem>
<asp:ListItem Value="D" Text="D"></asp:ListItem>
<asp:ListItem Value="E" Text="E"></asp:ListItem>
</asp:ListBox><br /> <asp:Button ID="Button1" runat="server" Text="Reset" OnClick="Button1_Click" />

现在写Reset铵钮事件,不能照搬前一篇的方法,但需要修改一下,因为所有自定义都有实作了接口IResetControlable。

动态操作演示一下:

上面所有控件演示中,仅列出一个,如果在一个铵钮事件,针对多控件时,我们又需要怎样去优化上面的程序,哪些需要修改,哪些不需要动了。其实asp.net开发中,使用控件才更多机会学到面向对象的技术和知识。

下面内容于2014-11-27 08:40分补充:
由于ListBox,CheckBoxList,DropDownList和RadioButtonList等控件是继承了ListControl类,因此可以把它们归为一个Adapter类:

写一个全新ListControlReset类:

这样子,就可以把下面几个Adapter类删除了:

最后程序可以重构为:

这样无需再单独写自己独立的Adapter类。

Web控件文本框Reset的功能的更多相关文章

  1. 怎样实现Web控件文本框Reset的功能

    在ASP.NET开发过程序,在数据插入之后,文本框TextBox控件需要Reset.如果只有一两个文件框也许没有什么问题,如果网页上有很多文本框,你就会有点问题了.再加上某一情形,一些文本框是有默认值 ...

  2. WPF编程:textbox控件文本框数据显示最后一行

    WPF编程:textbox控件文本框数据显示最后一行 TextBox控件在接收大量数据的时候,滚动条一般在最上方,如何使滚动条随着数据的接收而向下滚动呢?比如有一个TextBox'控件txbRecvD ...

  3. 一个完善的ActiveX Web控件教程

    免费打工仔:一个完善的ActiveX Web控件教程 出自Ogre3D开放资源地带   跳转到: 导航, 搜索 原作者 David Marcionek. 翻译 免费打工仔 这个教程可以帮助你快速开发一 ...

  4. web测试中,各类web控件测试点总结

    一 .界面检查 进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验 1.页面名称title是否正确 2.当前位置是否可见  您的位置:xxx>xxxx 3.文字格 ...

  5. DevExpress.LookUpEdit控件实现自动搜索定位功能 兼使用方法(looUpEdit可编辑)

    DevExpress.LookUpEdit 使用方法 设置可手动输入 this.LookUpEdit1.Properties.TextEditStyle = DevExpress.XtraEditor ...

  6. 033. asp.netWeb用户控件之二将页面转换成web控件和使用Web控件显示热点新闻

    访问Web用户控件的属性 ASP.NET提供的各种服务器控件都有其自身的属性和方法,程序开发人员可以灵活地使用服务器控件中的属性和方法开发程序.在用户控件中,程序开发人员也可以自行定义各种属性和方法, ...

  7. Repeater控件使用(含删除,分页功能)

    Repeater控件使用(含删除,分页功能) 摘自:http://www.cnblogs.com/alanliu/archive/2008/02/25/914779.html 前臺代碼 <%@ ...

  8. 基本的Web控件四

    基本的Web控件用法二 ListBox控件 页面布局: <div> <h1>ListBox控件</h1> 学生列表: <br/> <asp:Lis ...

  9. FoxOne---一个快速高效的BS框架--WEB控件属性编辑器

    FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...

随机推荐

  1. Microsoft Fakes

    http://baike.baidu.com/view/9602275.htm?fr=aladdin http://technet.microsoft.com/zh-cn/magazine/hh549 ...

  2. Sublime Text 使用技巧

    之前就一直在用Sublime Text 来作为默认的文本编辑工具,但也只是简单的用用,一些Sublime Text本身的快捷键什么的都没研究过,今天特地在网上看了一下,快捷键比较多,要想熟练运用还得在 ...

  3. 修改 Semantic UI 的默认字体

    Semantic UI 默认使用的是谷歌提供的字体,并且是直接使用了谷歌的官方链接.由于大家都知道的原因,谷歌网站在国内访问速度很差,甚至根本无法访问,还有就是可能会在离线环境下使用 Semantic ...

  4. CentOS 6.6 配置PuTTY远程登录

    1. 下载与安装 可以下载putty-0.63-installer.exe(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htm ...

  5. 配置新系统(Win7 x64)

    新装了一个Win7 x64系统.总结了一些系统配置需要注意的地方. 1. C盘空间 发现C盘被用去了50G的空间,在什么软件都没装的情况下,被用去这么多,感到不可思议. 打开控制面板->文件夹选 ...

  6. MFC一个类访问另一个类成员对象的成员变量值

    MFC中一个类要访问另外一个类的的对象的成员变量值,这就需要获得原来那个类对象的指针,其实有好几种方法都可以实现. 比如维护一个单例模式.设置静态变量等等.我们这里举个列子,实现多个类之间的相互访问. ...

  7. EvreryDay Collect

    1.在使用WebService时我们经常会考虑以下问题:怎么防止别人访问我的WebService? 在System.Net中提供了一个NetworkCredential,只有获得该凭证的用户才能访问相 ...

  8. C# WinForm程序打印条码 Code39码1

    做WinForm程序需要打印条码,为了偷懒不想自己写生成条码的程序在网上下载一个标准的39码的字体,在程序里面换上这个条码字体即可打印条码了. 最重要的一点作为记录: 如果想把“123456789”转 ...

  9. 安卓开发笔记——关于图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)

    在开发安卓应用中避免不了要使用到网络图片,获取网络图片很简单,但是需要付出一定的代价——流量.对于少数的图片而言问题不大,但如果手机应用中包含大量的图片,这势必会耗费用户的一定流量,如果我们不加以处理 ...

  10. 二十九、EFW框架开发的系统支持SaaS模式和实现思路

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://p ...