为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
前端工具


昨天又在论坛上看到一网友对Web控件的实现需求:
"就是页面上有一个checkboxlist控件,一个查询按钮,首次加载时checkboxlist是全选状态的,点击查询以后选择的值就被清空了,我现在是想保持选择的值的状态。"

Insus.NET再以此为例,写一写ASP.NET的开发过程,怎样一步一步实现,代码是怎样尽量写得通俗易懂明了。再加上Web控件没有什么所谓好不好,而是用得好不好

很早之前,Insus.NET就有写过一篇《Asp.net >> CheckBoxList控件》 http://www.cnblogs.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的地方,就可以改用为属性了,做到了封装:

 

实时演示:

  

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消