使用ASP.NET AJAX和JQuery一起解决翻页选择的问题

1. 前言

开发项目中经常会遇到要求用户选择列表中数据的问题,例如选择允许参加某个活动 的用户、选择允许参加某个项目的省市或地区,在数据量较小的情况下,我们可以把所有数据使用任何一 种数据绑定控件显示出来并在每一个数据项前面显示复选框,但在数据量比较大时同时显示全部数据显然 不太合适,我们首先考虑到的是使用分页。但是在使用分页后问题也随之而来,如何在切换分页时同时保 持已选中项目,有些开发人员可能使用服务器端代码编写保存在Session中,这种方式最大的弊端在于每 次都向服务器端提交,并且由于这些选中的数据只需要在当前页面使用,所以还白白的占用了Session。

对于这类问题,我们现在有了更好的选择,使用ASP.NET AJAX和JQuery结合在一起实现翻页选择 。

2. 相关理论

使用ASP.NET AJAX中的ScriptManager和UpdatePanel控件我们可以轻松的 实现GridView的分页,现在所需要考虑的就是在分页结束后根据用户的选择使相应的复选框处于选中状态 。实际上在AJAX.NET中,微软为我们提供了完全的AJAX请求生命周期控制,以下事件会在客户端触发:

Application.init——当某一个页面第一次请求时触发。在异步回发中不会触发该事 件

PageRequestmanager.initializeRequest——在一个异步请求开始之前触发,相当 于预始化阶段

PageReqeustManager.beginRequest——在一个异步请求开始之前触发

PageRequestManager.pageLoading——在客户端收到服务端的异步请求响应并且更新 UpdatePanel之前触发该事件

PageRequestManager.pageLoaded——在客户端收到服务 端的异步请求响应并且更新UpdatePanel中的内容更新后触发该事件,页面初始化加载时也会触发该事件 。

Application.load——在普通和异步回发期间触发该事件

PageRequestManager.endRequest——在完成一次异步请求后不管有没有异常发生均会 触发该事件

Application.unload——当用户离开或重新加载该页面时触发该事件

通过以上分析,我们只需要在分页异步请求完成后根据选中的状态更新相应的复选框即可。在取 得复选框时可以使用JQuery中强大的选择器,例如以下代码选中了某个GridView中的全部复选框。

$('div[#<%=gdvCustom.ClientID %>] input[type=checkbox]')

根据以上分析,以下示例代码展示了最终的运用结果。

时间: 2024-11-02 19:36:56

使用ASP.NET AJAX和JQuery一起解决翻页选择的问题的相关文章

jquery实现图片翻页效果

 jquery实现图片翻页效果,大家可以使用下面的方法    代码如下: $(function($){       $.fn.changeList = function(options){           var defaults = {                       tag : 'li', // tab name                       subName : '.utilTabSub', // sub class name                  

jquery+html仿翻页相册功能_jquery

今天心情大好,再发一篇最进前端实现的相册模仿功能. 这个相册是在一个网站的案例展示页面上实现的,没单独写出来,没时间,重用性也很差,以后有时间了再单独提取出来, 写这个玩意前,我在网上找了一些案例,但是一看代码都比较傻眼,固不想去研究,所以自己写了.....  下面是实现这个功能的截图 如果你是一个前端,这个功能对你来说除了逻辑复杂点,其他的可能实现起都比较简单,我不是做前端的,所以前端HTML这块遇到了一些问题.下面我会将我遇到的这些问题的解决方法分享出来.  首先说下:postion这个属性

望asp或ajax程序高手出手相助解决类似于阿里巴巴或淘宝拼音检索分类效果

问题描述 能把以下这段代码转换成从数据库读取,我已经在数据库里将分类的产品加上相应字母字段,比如香水,我加的字段里标为x,啤酒则为p,要求出现的效果类似于阿里巴巴或淘宝拼音检索分类效果,我手上已经有静态的效果,我现在希望能动态从数据库读取,网高手相助,确实有用,.不甚感激.因为代码太长,无法发上来,以下是静态效果的代码地址:http://www.jz178.com/html/jscode/integrated/200903/22-23994.html请直接给出代码,不要留参考地址,能解决将万分感

ASP技巧:下拉菜单做翻页的通用代码

菜单|翻页|技巧|通用代码|下拉 其实这个代码就是老外的那个翻页插件,后来是哪位好朋友(不好意思,忘了)修改后放在论坛上的,我还做成过插件,其实光是拷贝也挺方便的.还有最后一段是前后翻页的按钮,呵呵,这个还是ccjat提醒后加上的,用不用都随便咯. <%记录集名字_total = 记录集名字.RecordCount If (记录集名字_numRows < 0) Then记录集名字_numRows = 记录集名字_totalElseif (记录集名字_numRows = 0) Then记录集名字

ASP.NET AJAX 4.0 Preview 3(Part 1

自从Microsoft与jQuery合作以来,ASP.NET AJAX与jQuery就被定位为两个互补的AJAX库.既然jQuery 已经实现了如此多轻量级的AJAX特性,自然ASP.NET AJAX会继续专注于富客户端所需的一些重量级特性. 在ASP.NET AJAX 4.0 Preview 3里面,开发人员能够接触到的两个重要的新特性就是ADO.NET Data Service Client Library以及ASP.NET AJAX Template.对于熟悉ASP.NET服务器端开发但不

[ASP.NET Ajax] ECMAScript基础类以及Asp.net Ajax对类Object的扩展

ajax|asp.net|object "Everything is Object",在面向对象的编程语言中谁都知道这句话,但对我来说这是一种感觉,只可意会很难言传.由于我对JavaScript和薄弱,所以在看Asp.net Ajax类库的同时也翻出了ECMAScript顺便学习学习.在.NET中所有类都是继承自Object,同样在JS中也一样说有都继承Object,因此如果对Object进行了扩展,那所有继承Object类的后代肯定会拥有祖先的血缘. 既然开始学习JavaScript

ECMAScript基础类以及Asp.net Ajax对类Object的扩展

ajax|asp.net|object "Everything is Object",在面向对象的编程语言中谁都知道这句话,但对我来说这是一种感觉,只可意会很难言传.由于我对javascript和薄弱,所以在看Asp.net Ajax类库的同时也翻出了ECMAScript顺便学习学习.在.NET中所有类都是继承自Object,同样在JS中也一样说有都继承Object,因此如果对Object进行了扩展,那所有继承Object类的后代肯定会拥有祖先的血缘. 既然开始学习JavaScript

ECMAScript基础类及Asp.net Ajax对类Object的扩展

"Everything is Object",在面向对象的编程语言中谁都知道这句话,但对我来说这是一种感觉,只可意会很难言传.由于我对javascript和薄弱,所以在看Asp.net Ajax类库的同时也翻出了ECMAScript顺便学习学习.在.NET中所有类都是继承自Object,同样在JS中也一样说有都继承Object,因此如果对Object进行了扩展,那所有继承Object类的后代肯定会拥有祖先的血缘. 既然开始学习JavaScript那就顺便在这里提一提他的原始数据类型,在

[ASP.NET Ajax] ECMAScript基础类以及Asp.net Ajax对类&amp;lt;Object&amp;gt;的扩展

"Everything is Object",在面向对象的编程语言中谁都知道这句话,但对我来说这是一种感觉,只可意会很难言传.由于我对JavaScript和薄弱,所以在看Asp.net Ajax类库的同时也翻出了ECMAScript顺便学习学习.在.NET中所有类都是继承自Object,同样在JS中也一样说有都继承Object,因此如果对Object进行了扩展,那所有继承Object类的后代肯定会拥有祖先的血缘. 既然开始学习JavaScript那就顺便在这里提一提他的原始数据类型,在