在前一篇中《怎樣實現Web控件文本框Reset的功能》http://www.companysz.com/insus/p/4120889.htmlInsus.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="MultView Code
現在寫Reset銨鈕事件,不能照搬前一篇的方法,但需要修改一下,因為所有自定義都有實作了接口IResetControlable。
動態操作演示一下:
上面所有控件演示中,僅列出一個,如果在一個銨鈕事件,針對多控件時,我們又需要怎樣去優化上面的程序,哪些需要修改,哪些不需要動了。其實asp.net開發中,使用控件才更多機會學到面向對象的技術和知識。下面內容于2014-11-27 08:40分補充:由于ListBox,CheckBoxList,DropDownList和RadioButtonList等控件是繼承了ListControl類,因此可以把它們歸為一個Adapter類:
寫一個全新ListControlReset類:
這樣子,就可以把下面幾個Adapter類刪除了:
最后程序可以重構為:
這樣無需再單獨寫自己獨立的Adapter類。
新聞熱點
疑難解答