【自然框架】QuickPager asp.net 分页控件的Ajax分页方式。

 

  上次比较匆忙,Ajax的分页方式仅实现了基本功能,或者说只是验证了我的想法。现在对Ajax分页有做了一些调整,现在可以正式用了。

 

  使用方法还是非常简单,可以完全按照URL分页方式来做,只需要把PagerTurnKind 属性 设置为:PagerTurnKind.AjaxForWebControl;就可以了。

 

  然后前台需要引用jquery-1.4.2.min.js和QuickPager-1.0.js。QuickPager-1.0.js是QuickPager需要用的一个js脚本,Demo里面有这个js脚本。也可以在在线演示里下载。

 

  最后把Repeater控件(其他控件也可以,比如GridView等)放在<div id="div_Grid">,必须是这个ID名,目前没有把这个名称做到分页控件的属性里面,如果你想修改的话,需要修改QuickPager-1.0.js 。不过不建议修改。

 

  适用范围:

 

  你可能会觉得这个不是正规的Ajax分页。这个是为了给那些原来使用服务器控件(GridView、Repeater等)来写程序,后来由于某种原因必须实现Ajax方式来分页,但是又不想对原来的代码做大幅度的修改的情况。

 

  这个就是为了这种情况来设计的,原理就是直接在服务器端拼接成HTML,前台用jQUery.ajax来申请这段HTML,然后直接赋给 div_Grid。也许这种方式很不正规,但是对于刚才说的那种情况来说还是很方便的。

 

  你可以按照以前的方式来设置Repeater、GridView等控件,然后按照要求设置QuickPager分页控件就可以了。很简单。

 

  下载:http://www.naturefw.com/down/List1.aspx

 

  在线演示:http://demo.naturefw.com/Nonline/QuickPager/default.aspx

 

  直通车:http://demo.naturefw.com/Nonline/QuickPager/ajax/RepeaterAjax.aspx

 

 

  另外,我顺便做了一个伪URL,这个是为了照顾搜索引擎的。搜索引擎可以按照URL来访问页面。而用户是通过Ajax来访问页面的。这样两全其美,各取所需。当然直接访问/RepeaterAjax.aspx?page=4 是可以直接看到第四页的数据的,否则也无法“欺骗”搜索引擎了。进入后还是Ajax的分页。

 

  后台代码:

 

 

代码

/// <summary>
    /// Ajax的分页,Repeater控件的演示。
    /// </summary>
    public partial class RepeaterAjax : BaseWebPage
    {
        #region 初始化
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            //数据访问函数库的实例,使用基类里定义的。
            Pager1.DAL = base.Dal;

            //设置显示数据的控件
            Pager1.ShowDataControl = this.Rpt;

           //默认是PostBack的分页方式,这里要修改成 AjaxForWebControl的形式。以后还会出AjaxForJson的。
            Pager1.PagerTurnKind = PagerTurnKind.AjaxForWebControl;

        }
        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {

            if (!Page.IsPostBack)
            {
                SetPagerInfo();         //设置表名、字段名等

             }
        }

        #region 给QuickPager_SQL 设置属性,以便拼接SQL
        private void SetPagerInfo()
        {
            Pager1.PagerSQL.TableName = "Person_User_ViewLog";              //表名或者视图名称
            Pager1.PagerSQL.TableShowColumns = "*";    //需要显示的字段
            Pager1.PagerSQL.TablePKColumn = "LogID";             //主键名称,不支持复合主键
            Pager1.PagerSQL.TableOrderByColumns = "LogID desc "; //排序字段,根据分页算法而定,可以支持多个排序字段
            Pager1.PagerSQL.TableQuery =  "";  //查询条件

            Pager1.PageSize = 5;                                  //一页显示的记录数
            Pager1.NaviCount = 4;

            //设置分页算法
            Pager1.PagerSQL.SetPagerSQLKind = PagerSQLKind.Max_TopTop;

        }
        #endregion

       
    }

 

 

  前台设置:

 

代码

<script language="javascript" type="text/javascript" src="/aspnet_client/jquery/jquery-1.4.2.min.js"></script>
<script language="javascript" type="text/javascript" src="/aspnet_client/nature/QuickPager-1.0.js"></script>
    
div的ID必须是div_Grid

<div id="div_Grid" style="text-align:left;padding:10px;">
        <asp:Repeater ID="Rpt" runat="server" EnableViewState="false">
            <ItemTemplate>
                     <%# (Container.DataItem as DataRowView)["用户"]%> 在 [<%# (Container.DataItem as DataRowView)["访问时间"]%>] 访问了网页:<br />
                     <%# (Container.DataItem as DataRowView)["访问页面"]%><br />
                     浏览器信息是:<%# (Container.DataItem as DataRowView)["UserAgent"]%><br />
                     <hr />
            </ItemTemplate>
        </asp:Repeater>
    </div>
    <Nature:QuickPager ID="Pager1" runat="server"   />

 

 

 

时间: 2024-10-27 02:49:53

【自然框架】QuickPager asp.net 分页控件的Ajax分页方式。的相关文章

asp.net 拖控件实现GridView分页删除编辑功能,如果出现了异常,我怎么捕获异常.!!!!!

问题描述 asp.net拖控件实现GridView分页删除编辑功能,如果出现了异常,我怎么捕获异常.!!!!!就比如说我这个异常~无法将NULL值插入列'moeny',表'yuguomin.dbo.info':该列不允许空值.UPDATE失败.语句已终止.说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.Data.SqlClient.SqlException:无法将NULL值插入列'moeny',表

Winform分页控件之纯分页显示处理

在之前介绍的Winform分页控件中,都以分页控件+显示表格控件作为一个整体性的控件,不可分开,这样做的目的是可以实现更多的操作,集成更多丰富的特性,减少我们开发的工作量,这种情况虽然适用于大多数的情况,不过有时候需要更进一步对列表控件进行设置修改或者实现一些特殊的显示效果的时候,这种绑定列表控件的分页控件方式就有点捉襟见肘了.为了解决这个问题,我对分页控件进行稍微的调整,使其支持分页和列表控件分开的情况,具体实现以及效果是如何的呢,下面我们来分析了解下. 1.单独的分页信息控件 在我的开发设计

KMCT分页控件与存储过程分页完美结合---存储过程分页篇

上一篇分页控件(KCMT开源控件之--方便简洁的分页控件)出来以后,好几位网友期待我的存储过程分 页与该控件结合使用的例程,这个星期工作很忙,一直没有时间完成.今天终于抽出时间来完成这篇文章 . 首先从存储过程分页谈起 为什么要选择用存储过程分页呢?其实原因很简单,数据库查询功能的性能终究是有限的.即使我们 对数据库进行了最优配置,对数据表设计再三斟酌,然而一旦面临海量数据,且返回结果集较大的时候, 常规的查询语句就无能为力了.一般说来,当返回的结果集超过总数量的40%时,数据库层面上的优化就

【自然框架】内部类库、控件的引用关系(最新整理,基本稳定)

  和以前相比,减少了一个项目,把Control_Interface合并到CommonFunction里面.这样引用关系就简单多了.   基本上分为三个层次:类库.自定义控件.页面基类.其中的 MetaData 负责元数据的定义和加载.  

【自然框架】QuickPager分页控件的总体介绍和在线演示

   QuickPager分页控件的特点    两种运行方式:自动运行.手动运行.前者便捷,后者灵活.  多种分页方式:Postback.Postback伪URL.URL.URL重写.Ajax For服务器控件伪URL.  多种分页算法:Max.颠倒Top(优化版).Row_Number.自动适应等.可以应对多种数据库和各种需求.  支持多种数据显示控件:GridView.DataList.Repeater等控件.有DataSource和DataBind()的控件都支持.  不需要存储过程,但是

【开源】我的分页控件正式命名为QuickPager ASP.NET2.0分页控件

分页控件正式命名为 QuickPager ASP.NET2.0分页控件 . 版本号:2.0.0.1 Framework:.net2.0 分页方式:PostBack .URL (暂时没有实现URL的分页方式) webform  (b/s) 支持多种数据库,分页算法,提取数据的方式都可以替换.     分页,自从做b/s的项目起,就和分页打起了交到,一开始使用UserControl来做,很粗糙,也没有什么性能可言.但是分页又是不可避免的,一次提取全部的数据,咱用的资源太多,吃不消.于是乎就在不断的想

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.6 修改了几个小bug,使用演示。

       由于项目里面还在使用vs2003,还没有使用新的分页控件,所以对新的分页控件的测试还很不到位,遗留了不少的bug,感谢网友试用提出宝贵意见.由于项目正在收尾中,时间也不是太充裕,所以使用说明也不够详细.这次是发一个新的版本,另外主要是说一下,如何在一个页面(一个项目)里访问多种数据库,对多种数据库里的表进行分页.        我用过的数据库有SQL Server2000.SQL Server2005.Access.Excel,而分页控件也支持这四种数据库,那么就以这四种数据库为例

【开源】QuickPager 分页控件的内部结构,和OO原则与设计模式

  关键字:提出需求.需求分析.原则.设计模式.索引        先说一下讨论的范围:使用数据库保存信息的项目,b/s结构,asp.net编写.请不要讨论这个范围之外的事情哦,谢谢!        这里想说的并不仅限于一个控件,而是一个关于分页的解决方案.信息都是放在数据库里的,在b/s结构里面一次提取所有的数据显示并不是一个好的方法,所以就需要一个把数据分成多个页的形式来显示.关于分页的解决方案有多种,一种实现方式可以用一个"分页控件"(我的解决方案),也可以用其他的方式来体现(比

一个简单的ASP.MVC分页控件

分页功能实现方面参考了网上的一些内容,加上自己的一些修改,使用方式如 下: (鉴于分页代码基本上和别人的没什么两样,所以这里就省略了.) 封装扩展方法 public static string Pager(this HtmlHelper html, IPageData model, bool alwaysShow,bool showNumber) { string text = "<!--没有任何数据,所以不显示分页控件-->"; bool show = model.Tot