这几天Insus.NET有写几篇博文,虽然写得没怎么样,但均是Insus.NET现实开发过程中所遇或是所想的一些内容。
http://www.cnblogs.com/insus/p/3817682.html


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

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

很早之前,Insus.NET就有写过一篇《http://www.cnblogs.com/insus/archive/2011/06/17/2081639.html 很多地方还是值得参考的地方。

解决此问题,还是一步一步来,急之不了。

在xxx.aspx网页上,拉两个控件,一个为CheckBoxList,另一个为Button按钮。
WEB控件没有什么所谓好不好,而是用得好不好

 

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


准备这些数据,Insus.NET还是建议准备有key和value的数据。真实环境中,应用到这些数据,均是被另一个表作为外键引用。
准备好数据,接下来当然是为CheckBoxList控件绑定了。
WEB控件没有什么所谓好不好,而是用得好不好


写一个私有方法Data_Binding()。然后引用至Page_Load事件内。有一点注意,需要用IsPostBack是否回发判断来绑定。

现在是重点解决问题,CheckBoxList控件中,哪些选择是被选择的?不管是在网页一加载,还某一事件处理,我们需要用一个集来存储。上面提供的链接中,也有相似的方法,不过此次Insus.NET用另外一种方法,让你多一种参考:
WEB控件没有什么所谓好不好,而是用得好不好

 

OK,现在我们可以在按钮的事件中,去把CheckBoxList控件所选择的值存储起来:
WEB控件没有什么所谓好不好,而是用得好不好


其实这样,程序并不会在网页加载时,把铵钮点击之前的CheckBoxList所选择的值重新绑定在控件之上。因此我们需要稍微修改一下Data_Binding()方法:
WEB控件没有什么所谓好不好,而是用得好不好


上面高亮块代码。
想把代码写好些,有时你可以让if关键词不出现在程序上。改之:
WEB控件没有什么所谓好不好,而是用得好不好


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


这样子,在程序中有引用这个Session的地方,就可以改用为属性了,做到了封装:
WEB控件没有什么所谓好不好,而是用得好不好

 

实时演示:

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

  

相关文章:

  • 2021-05-21
  • 2021-03-31
  • 2021-05-17
  • 2021-09-16
  • 2021-10-27
  • 2021-05-20
  • 2021-12-10
  • 2021-08-02
猜你喜欢
  • 2021-07-02
  • 2021-10-23
  • 2021-06-18
  • 2022-12-23
  • 2021-09-03
  • 2021-04-05
  • 2022-12-23
相关资源
相似解决方案