什么是DataList我想应该不需要解释了,接下来分享本人在项目里使用到的通过DataList进行分页展示方法。

首先在ASPX页面添加一个DataList(后面都简称DL)控件,示例代码如下:

  <asp:DataList ID="DL_BadReason" runat="server" Width="100%"
////////////////////中间嵌套你需要展示出来的数据和方法的ID////////
</asp:DataList>

此例中展示的风格是通过下拉列表来进行分页跳转(当然,这样做是无法和高大上的Ajax来进行分页来的给力,后面有时间虾哥将会再写一个AJAX分页DEMO分享给码友们)

在前台页面再添加一个DropList控件来绑定页数,以便进行分页跳转,示例代码如下:

  <asp:DropDownList ID="YourName" runat="server" AutoPostBack="true" OnSelectedIndexChanged="YourName">
</asp:DropDownList>

前台搞定!接下来就是后台代码实现了,代码逻辑很简单,这里就不多注释太多了。示例代码如下:

         if (dtBadReason.Rows.Count > ) //这里的dtBadReason是你从数据库查询出来的数据源
{
try
{
//DL:DataList this.DL.DataSource = dvBadReason;
DL.DataBind();
DL.HorizontalAlign = HorizontalAlign.Center; //使用PageDataSource
PagedDataSource PgB = new PagedDataSource();
PgB.DataSource = dvBadReason;
//设定条数
PgB.PageSize = ;
PgB.AllowPaging = true; //分页设定
int CurrentPage = Get_CurrentPage();
PgB.CurrentPageIndex = CurrentPage - ;
lbPage.Text = String.Format("{2}&nbsp;{0}&nbsp;{4}&nbsp;,&nbsp;{3}&nbsp;{1}&nbsp;{4}"
, CurrentPage.ToString()
, PgB.PageCount.ToString()
, "第"
, "共"
, "页"); DL_BadReason.DataSource = PgB;
DL_BadReason.DataBind(); ddlPage.Items.Clear();
ddlPage.Items.Add("请跳页");
ListItem oItm = new ListItem();
for (int i = ; i < PgB.PageCount; i++)
{
int iPage = i + ;
oItm.Text = String.Format("{1}{0}{2}", iPage.ToString(), "第", "页");
oItm.Value = iPage.ToString();
ddlPage.Items.Add(new ListItem(oItm.Text.Trim(), oItm.Value));
} }
catch (Exception ex)
{
Response.Write("<b>Error Message-- </b>" + ex.Message.ToString());
}
}

虽然这种分页方法远没有我们自己手写个存储过程再结合AJAX来进行分页爽,而且性能不高,用户体验效果也不理想。但这恰恰却适用于一些只需要用来展示数据的项目。当然,这比Repter好多了!

最终分页效果如下:

使用DataList 分页方法的更多相关文章

  1. DataList分页访问FooterTemplate模板里的控件

    今天做DataList分页的时候,突然想把分页控件写在FooterTemplate模板里面,弄了很久都访问不到控件,终于发现问题所在,以下是访问FooterTemplate里控件的方法: <Fo ...

  2. Oracle、SQL Server、MySQL分页方法

    测试用例:查询TEST_TABLE表中TEST_COLUMN列的第10-20条数据 1,Oracle分页方法 SELECT A.* FROM ( SELECT ROWNUM ROWNO, B.* FR ...

  3. Sql Server 2012 的新分页方法分析(offset and fetch) - 转载

    最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的 其中 offset ...

  4. phalcon几种分页方法

    phalcon几种分页方法 一: use Phalcon\Paginator\Adapter\Model as PaginatorModel; // Current page to show // I ...

  5. 只是一个用EF写的一个简单的分页方法而已

    只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...

  6. SharePoint2013 SharePoint-Hosted 模式 分页方法

    /**分页js插件 var ListPager = new listPaging(); 先调用start方法加载上下文 然后调用dataLoad方法查询第一页数据 需要设置几个属性值 ListPage ...

  7. C#针对DataTable进行分页方法

    以下的分页方法是针对数据量不是非常大的数据进行的,是在内存中进行的分页操作. /// <summary> /// DataTable分页 /// </summary> /// ...

  8. SQL SERVER 分页方法

    最近项目中需要在SQL SERVER中进行分页,需要编写分页查询语句.之前也写过一些关于分页查询的语句,但是性能不敢恭维.于是在业务时间,在微软社区Bing了一篇老外写的关于SQL SERVER分页的 ...

  9. sql server两种分页方法

    方法一: --分页方法一 OrderID,CustomerID, EmployeeID,OrderDate,ShippedDate,ShipName,ShipAddress,Freight from ...

随机推荐

  1. [hadoop转载]tearsort

        1TB排序通常用于衡量分布式数据处理框架的数据处理能力.Terasort是Hadoop中的的一个排序作业,在2008年,Hadoop在1TB排序基准评估中赢得第一名,耗时209秒.那么Tera ...

  2. sql日志框架log4jdbc的AOP式使用

    log4jdbc.log4j2 参考:1.  http://badqiu.iteye.com/blog/743100 2.  https://code.google.com/p/log4jdbc/ 3 ...

  3. HW4.23

    public class Solution { public static void main(String[] args) { double sum = 0; for(int i = 1; i &l ...

  4. windows ntp安装及调试

    Setting up NTP on Windows It's very helpful that Meinberg have provided an installer for the highly- ...

  5. Java的垃圾回收概述

    Java语言建立了垃圾收集机制,即GC,用以跟踪正在使用的对象和发现并回收不再使用的对象,垃圾清理势在必行,以下讲述java垃圾收集算法. 1.Java垃圾收集算法的核心思想 Java语言建立了垃圾收 ...

  6. 用chrome按F12抓包 页面跳转POST一瞬间就闪没了

  7. ASP.NET MVC- VIEW Using the TagBuilder Class to Build HTML Helpers Part 3

    The ASP.NET MVC framework includes  a useful utility class named the TagBuilder class that you can u ...

  8. 推荐一个markdown编辑器-Haroopad

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:推荐一个markdown编辑器-Haroopad.

  9. 23讲 URL

    这是看完23讲后的小笔记,关于URL规则.伪静态. 一.URL规则 2.此处的区分大小写,也只是对第一个字母区分,并非对整个模块名. 3.模块名复杂时,且区分大小写,此时在地址栏访问时要用" ...

  10. PHP中输出缓冲

    在PHP中,当运行echo,print的时候,输出并没有马上通过tcp传给client浏览器显示, 而是将数据写入php buffer.php output_buffering机制,意味在tcp bu ...