首页 / 脚本样式 / jQuery / MVC+Jquery开发B/S系统 (一) 列表绑定(二)
MVC+Jquery开发B/S系统 (一) 列表绑定(二)2013-05-22 博客园 麦子|君子兰其实挂MVC只在上一节有说道,我还是只写Jquery数据绑定吧。我不知道别人是否使用过我 这种绑定方法,这是我想出来的。所以一个人的想法会不会被别人所接受那是别人的看法。我只是分享 下自己的方法。当然,个人能力有限,愚昧的地方还望指出。首先 试想写这个方法或 者说绑定一个列表时需要碰到哪些问题? 如何在这个方法里解决大多数列表的问题?Ⅰ、如何 分页?Ⅱ、绑定的是Url请求还是Array?Ⅲ、列表加载后需要做什么处理?Ⅳ、 其他的问题...我们把绑定Table的方法写成一个Jquery的插件。 用起来就舒服一些。 $("#lstTable").bindTable(....);Ⅰ、如何分页?但凡列表,都会 有分页的问题。在我们这种绑定方法里分页无非是重新绑定列表,只不过请求的数据是后台给的另外一 页的数据。那么,我们的分页只不过是把一些分页连接的点击事件变成绑定请求,类似$(".pagelist a").click(function(){
$("#lstTable").bindTable({pageIndex:xx});
});
假如翻页我们写成 一个$("#xx").Paper(...) 翻页后会如何记忆第一次请求传递的参数? 目前是把参数记忆 在table的自定义属性里,而才callback则放在一个全局变量里。Ⅱ、绑定的是Url请求还是 Array?绑定的数据源不一定是ajax请求,可能是ViewData、Model或其他自己整理好的Array, 其实Url也是去获取Data,那就视绑定为已有数据而已已有的数据如何分页?这不和后台已分好 页的数据冲突了吗? 确实有点冲突,这个.... 目前ajax数据的分页我们还是按后台来分页吧-_-Ⅲ、列表加载后需要做什么处理?我们动态append to tBody的html内容是死的,里面 的<a>、<input>可能没有自己的事件,除非里面已经写好了 onclick 。。 这样我们改动 起来就失去了Jquery的事件绑定的优势。所以绑定数据后,我们需要处理所有列表共通的事件 绑定,另外需要一个callback方法来处理特定的需求。Ⅳ、其他的问题...点击thead里 的连接对数据排序如何处理? 翻页后前一页的已选中的checkbox如何记忆?其他还会发现... 好的 方法是慢慢成熟演变的。以上的问题都是我在实际开发中不断碰到的总结。Jquery的插 件的写法,随便找个插件我们就可以模仿的写下来。 类似$("##").FunctionName(..) 就是 下面这种写法。; (function($) {
$.fn.FunctionName = function(...) {};
})(jQuery);