1.前台页面:

代码

          <asp:Repeater ID="RptThankBrd" runat="server" 
               onitemdatabound="RptThankBrd_ItemDataBound">
           <ItemTemplate>
           <div class="thanktitle">
               <asp:PlaceHolder ID="PlaceHolder1" runat="server">
                          <span style="color:Blue">参调人:</span>
           <%# DataBinder.Eval( Container.DataItem,"name") %>
               </asp:PlaceHolder>
                              <asp:PlaceHolder ID="PlaceHolder2" runat="server">
                          <span style="color:Blue">流水号:</span>
           <%# DataBinder.Eval( Container.DataItem,"batchid") %>
               </asp:PlaceHolder>

</div>
           <div class="thankcontent"><%# DataBinder.Eval( Container.DataItem,"answer") %></div>
           <div  class="pubdate">填写时间:<%# DataBinder.Eval( Container.DataItem,"insdate") %></div>
           </ItemTemplate>
           </asp:Repeater>

分页样式:

代码

.vc
{
    padding:30px 10px 20px;
    width:90%!important;
    overflow:visible;text-align:center; font-size:15px;
    }
.vc a.o:link,.vc a.o:visited{margin:0 4px;padding:3px 6px;
    border:1px solid #ddd;text-decoration:none;
    background:#fff;}
.vc a.o:hover{border:1px solid #049;text-decoration:none;}
.vc a.obg:link,.vc a.obg:visited{background:#f00;color:#fff;}

分页代码:

代码

<div class="vc">

<script type="text/javascript">
document.onkeyup=function(e){if(window.event.keyCode==37){window.location.href=$("#HLpre").attr("href");}}
</script>
<asp:HyperLink ID="HLpre" runat="server" style=" font-size:12px;font-weight:bold;  text-decoration:none;margin-right:15px;">&laquo;</asp:HyperLink>
第  &nbsp;   <%=pagehtml %>   &nbsp; 页&nbsp;<asp:HyperLink ID="HLnext" runat="server" style=" font-size:12px;font-weight:bold;  text-decoration:none;margin-left:15px;">&raquo;</asp:HyperLink>
<script type="text/javascript">
document.onkeydown=function(e){if(window.event.keyCode==39){window.location.href=$("#HLnext").attr("href");}}
</script>
</div>

后台代码:

代码

 protected void Page_Load(object sender, EventArgs e)
    {
       //获取当前页码
        if (!this.IsPostBack)
        {
            if (Request.Params["page"] == null)
                curpage = 1;
            else
            {
                string temp = Request.Params["page"].ToString();
                curpage = ckString.intCheck(temp, 1);
            }

}
            
             //当前页面链接
             cururl = "viewQuestionPaper.aspx";
            //绑定数据
             showthanklist(vote.getQuestionPaper(Request["surveyid"], Request["questionid"]));
        
        }
    }

//设置分页参数
    int anonymous = 0;
    int curpage = 1;
    int pagesize = 2;//设置每页显示多少条记录
    public string pagehtml = string.Empty;
    public string cururl = string.Empty;
    int pagenum = 15;//设置每个分组有多少页码
    int startindex = 1;
//分页核心代码
    private void showthanklist(DataTable dt)
    {
        PagedDataSource pagedata = new PagedDataSource();
        //DataTable dt = LoadRepeater(id.ToString());
        pagedata.DataSource = dt.DefaultView;
        pagedata.PageSize = pagesize;
        pagedata.AllowPaging = true;
        int half = 1;
        while ((half + 1) * 2 < pagenum) { half++; }
        int start = 1;
        int end = 1;

if (curpage > pagedata.PageCount || curpage < 1) curpage = 1;
        pagedata.CurrentPageIndex = curpage - 1;
        //如果页面总数小于分组数量.
        if (pagenum >= pagedata.PageCount)
        { end = pagedata.PageCount; getPageindex(start, end, curpage); }
        else
        {
            if (curpage - half > 0)
            {

start = curpage - half;
                if (curpage + half > pagedata.PageCount)
                {
                    start = pagedata.PageCount - pagenum + 1;
                    end = pagedata.PageCount;
                }
                else
                    end = curpage + half;

}
            else
            {
                start = 1;
                end = pagenum > pagedata.PageCount ? pagedata.PageCount : pagenum;
            }

getPageindex(start, end, curpage);
        }
        if (pagedata.PageCount == 1) //如果只有一个分组
        { HLpre.Visible = false; HLnext.Visible = false; }
        else if (curpage == pagedata.PageCount && curpage > 1)//如果当前分组是最后一个分组
        {

HLpre.Enabled = true;
            HLnext.Enabled = false;
            HLpre.NavigateUrl = cururl + "page=" + (curpage - 1);

}
        else if (curpage == 1 && curpage < pagedata.PageCount)
        {
            HLpre.Enabled = false;
            HLnext.Enabled = true;
            HLnext.NavigateUrl = cururl + "page=" + (curpage + 1);
        }
        if (curpage > 1 && curpage < pagedata.PageCount)//如果当前分组处在中间
        {
            HLpre.Enabled = true;
            HLpre.NavigateUrl = cururl + "page=" + (curpage - 1);
            HLnext.NavigateUrl = cururl + "page=" + (curpage + 1);
            HLnext.Enabled = true;
        }

this.RptThankBrd.DataSource = pagedata;
        this.RptThankBrd.DataBind();

}

//设置分页样式
    private void getPageindex(int start, int end, int curpage)
    {
        pagehtml = "";
        for (int i = start; i <= end; i++)
        {
            if (curpage == i) { pagehtml += "<a href='" + cururl + "page=" + Convert.ToString(i + startindex - 1) + "' class='o obg'>" + Convert.ToString(i + startindex - 1) + "</a>"; }
            else
                pagehtml += "<a href='" + cururl + "page=" + Convert.ToString(i + startindex - 1) + "' class='o '>" + Convert.ToString(i + startindex - 1) + "</a>";

}
    }

转载于:https://www.cnblogs.com/ForFreeDom/archive/2009/12/03/1616552.html

一个Repeater的分页方法相关推荐

  1. ASP.NET分页方法的了解程度

    ASP.NET分页方法的了解程度 [出现频率] ★★★★☆ [解答] ASP.NET分页的常用方法有以下几种. q 启用部分数据控件的内置分页功能,如设置GridView控件的"AllowP ...

  2. Scott Mitchell 的ASP.NET 2.0数据教程之四十四::DataList和Repeater数据分页

    原文 | 下载本教程中的编码例子 | 下载本教程的PDF版 导言 分页和排序是显示数据时经常用到的功能.比如,在一个在线书店里搜索关于ASP.NET 的书的时候,可能结果会是成百上千,而每页只列出十条 ...

  3. asp.net分页方法

    ASP.NET分页的是我们在编程过程中遇到的常见问题,下面就这个问题说下添美的看法. q 启用部分数据控件的内置分页功能,如设置GridView控件的"AllowPaging"属性 ...

  4. 新版数据库分页方法(Sql server2012)

    1. ROW_NUMBER() 的分页方法 dbcc freeproccache dbcc dropcleanbuffers set statistics time on set statistics ...

  5. Sql Server 2012 分页方法分析(offset and fetch)

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

  6. mysql 高效分页查询_PostgreSQL、MySQL高效分页方法探讨

    对于数据库相关的业务,逃不过的数据分页场景,无论是前台分页浏览还是划到页面底部自动加载.对于分页需求,各数据库也提供了成熟的SQL支持,类似于Hibernate等ORM框架也集成了相关的方法.但是基于 ...

  7. php+mssql 分页,一个PHP+MSSQL分页的例子

    一个PHP+MSSQL分页的例子 更新时间:2006年10月09日 00:00:00   作者: require "config.php"; dl("extensions ...

  8. (转)几种常用存储过程分页方法

    我们先给出几种主要的分页方法和核心语句,然后直接给出结论,有兴趣的读者可以看看后面的数据 几种常用存储过程分页方法 TopN方法 select Top(@PageSize) from TableNam ...

  9. mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结

    本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法.分享给大家供大家参考,具体如下: 1. primary key 主键 特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能 ...

最新文章

  1. getHibernateTemplate()和getSession()的区别
  2. asp.net 页面全生命周期
  3. 用神经网络分类原子和圆
  4. 入门人工智能,我究竟该学些什么?
  5. 使用Java中的Try-With-Resource
  6. iOS 提交app到iTunes Connect,显示构建版本“+”号的小技巧/ 选择版本提交 无“+”号 问题/Xcode 上传成功但iTunes 不显示上传的版本的问题
  7. zookeeper安装和基本操作
  8. Java基础50道经典练习题(22年新版)
  9. 通达信手机版分时图指标大全_今天教大家怎么把通达信副图指标源码导入手机通达信软件上。...
  10. 比管理时间重要 1000 倍的,是管理精力
  11. 【WPS技能】xlsx表格根据单元格的值改变行背景色
  12. JPEG 推荐的DC和AC系数的huffman(哈夫曼)码表
  13. FusionStorage原理及组件,Java面试回忆录
  14. asp.net 中 使用ajax 和浏览器的关系
  15. 基于ssm考勤管理系统
  16. 访问Daytime服务的客户端(TCP)
  17. DeskMini310 黑苹果(hackintosh)
  18. JavaScript对象 1
  19. PHP用curl请求网址的code码
  20. 很著名的几个社会定律

热门文章

  1. mysql 去空格_MySQL基本命令操作
  2. 光流(三)--LK算法改进(金字塔LK)
  3. 【数据结构(C语言)】数据结构-内部排序
  4. Idea2020版本设置编码格式
  5. SparkSQL入门
  6. 开源字符处理类库:CharString类 拆分自自己研发的web服务器中的类库
  7. 测试工程师值得被尊重!是否有此共鸣!
  8. div水平居中和垂直居中
  9. mysql配置utf8_mb4
  10. [NOI导刊2010提高]黑匣子