首页 > 学院 > 开发设计 > 正文

WEB控件没有什么所谓好不好,而是用得好不好

2019-11-17 01:37:16
字体:
来源:转载
供稿:网友

WEB控件没有什么所谓好不好,而是用得好不好

这几天Insus.NET有写几篇博文,虽然写得没怎么样,但均是Insus.NET现实开发过程中所遇或是所想的一些内容。《没有什么,开发asp.net时随便写写,想到什么写什么》http://www.VEVb.com/insus/p/3810032.html《跟用户沟通,问题尽量分析清楚,以及解决问题》http://www.VEVb.com/insus/p/3813185.html《ASP.NET开发,且编且改,分清职责》http://www.VEVb.com/insus/p/3817682.html

昨天又在论坛上看到一网友对Web控件的实现需求:"就是页面上有一个checkboxlist控件,一个查询按钮,首次加载时checkboxlist是全选状态的,点击查询以后选择的值就被清空了,我现在是想保持选择的值的状态。"Insus.NET再以此为例,写一写ASP.NET的开发过程,怎样一步一步实现,代码是怎样尽量写得通俗易懂明了。再加上Web控件没有什么所谓好不好,而是用得好不好很早之前,Insus.NET就有写过一篇《Asp.net >> CheckBoxList控件》 http://www.VEVb.com/insus/archive/2011/06/17/2081639.html很多地方还是值得参考的地方。解决此问题,还是一步一步来,急之不了。

在xxx.aspx网页上,拉两个控件,一个为CheckBoxList,另一个为Button按钮。

既然有用到CheckBoxList控件,那我们需要为之准备数据源,其实你可以在.aspx网页直接接,不过Insus.NET还是习惯在aspx.cs后程序中写。当然这些数据源还是可以从数据库中某一个表获取。

准备这些数据,Insus.NET还是建议准备有key和value的数据。真实环境中,应用到这些数据,均是被另一个表作为外键引用。准备好数据,接下来当然是为CheckBoxList控件绑定了。写一个私有方法Data_Binding()。然后引用至Page_Load事件内。有一点注意,需要用IsPostBack是否回发判断来绑定。现在是重点解决问题,CheckBoxList控件中,哪些选择是被选择的?不管是在网页一加载,还某一事件处理,我们需要用一个集来存储。上面提供的链接中,也有相似的方法,不过此次Insus.NET用另外一种方法,让你多一种参考:

OK,现在我们可以在按钮的事件中,去把CheckBoxList控件所选择的值存储起来:其实这样,程序并不会在网页加载时,把铵钮点击之前的CheckBoxList所选择的值重新绑定在控件之上。因此我们需要稍微修改一下Data_Binding()方法:上面高亮块代码。想把代码写好些,有时你可以让if关键词不出现在程序上。改之:

OK,写得差不多了,重新检查重个功能的代码,还一点还是让Insus.NET不舒服的,就是session,因为Session的名字,在代码中,有三处地方出现。写程序时,我们需要来回检查或是复制Session名字。以后可以作为一个习惯,把Session写成一个属性:

这样子,在程序中有引用这个Session的地方,就可以改用为属性了,做到了封装:

实时演示:


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表