利用这个周末做了个查询表达式生成器,我实在无法忍受我现在项目中的查询方式,每次改变查询条件都要 PostBack 页面(又是PostBack),即使你不点击查询按钮。
先来个图片:
实现无刷洗的改变搜索条件,可以通过 Ajax 在不同条件下给操作符和范围输入框赋予不同的值,但这样不利与控件的封装,关键是 Ajax 增加了页面与服务器和数据库的交互,降低系统性能。
查询条件生成器控件,虽然也要从后台读取数据,但数据不会时时改变。所以我在页面 load 阶段将所有要用到的数据发向页面,通过 javascript 定义一个链表数据结构将数据保存,当改变查询条件时也不需要从后台重新获取数据。这是这个控件开发的关键。
一下是控件在 render 时期让页面接受服务器数据的代码:
剩下的事情就是如何让控件响应用户的事件,这都是 javascript 的事情了。
先说到这里,如果需要代码请通过 msn 与我联系。还有看帖要回。