ASP.NET分页组件学与用——使用篇

原创 2004年09月09日 20:49:00
 大家好,这篇文章承启上一篇文章《ASP.NET分页组件学与用——教学篇》。

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       在《ASP.NET分页组件学与用——教学篇》中,我们讲解了分页组件的整个创建过程,那么在这一篇文章中,我们主要讨论一下如何使用该组件。

 

       请按以下步骤操作:

1、  创建一个WEB应用程序工程。

 

2、  将上篇文章中生成的组件添加到工具箱中。如果您不知道添加的过程,请参考文章《ASP.NET组件编程step by step

 

 

3、  在默认的WEB窗体页面中,切换到HTML视图,把下列HTML代码复制到<form>标签中。

<div align="center">

                            <center>

                                   <table border="0" cellpadding="0" cellspacing="0" width="756" height="155" style="FONT-SIZE:12px">

                                          <tr>

                                                 <td width="756" height="23">分页控件的使用实例</td>

                                          </tr>

                                          <tr>

                                                 <td width="756" height="110" valign="top" align="center" runat="server" id="myHtml"></td>

                                          </tr>

                                          <tr>

                                                 <td width="756" height="22">

                                                 </td>

                                          </tr>

                                   </table>

                            </center>

                     </div>

 

4、  HTML代码生成一个三行一列的表格,从工具箱将控件拖到该表格的第三行中。

 

5、  private void Page_Load(object sender, System.EventArgs e)事件处理程序中添加如下代码:

int cp;

            if(this.Request.Params["currentPage"] == null)

            {

                cp = 1;

            }

            else

            {

                cp = Convert.ToInt32(this.Request.Params["currentPage"]);

            }

 

            SqlConnection con = new SqlConnection("server=accp-lzh;uid=sa;pwd=sasa;database=Northwind");

            SqlCommand cmd = new SqlCommand("select * from [Order Details]",con);

            SqlDataAdapter adapter = new SqlDataAdapter();

            adapter.SelectCommand = cmd;

            DataSet ds = new DataSet();

            con.Open();

            adapter.Fill(ds,"table");

            con.Close();

           

            DataTable dt = new DataTable();

            dt = ds.Tables["table"];

            //以下设置控件参数

            this.LzhPages1.AllCount = dt.Rows.Count;//总记录条数

            this.LzhPages1.CurrentPage = cp;//当前页,从URL中读取

            this.LzhPages1.ShowPages = 10;//导航数字个数

            this.LzhPages1.Count = 10;//每页显示的记录条数

 

            StringBuilder sql = new StringBuilder();

            //以下三个字符串最终组合成一个完整的表格<table>

            string htmlHeader = "";//<table>标签

            string htmlBody = "";//中间有若干个<tr>标签,即行

            string htmlFoot = "";//</table>标签

 

            sql.AppendFormat("select top {0} * from [Order Details] where 1=1 and OrderID not in (select top {1} OrderID from [Order Details] where 1=1 order by OrderID desc) order by OrderID desc",this.LzhPages1.Count,this.LzhPages1.CurrentPage * this.LzhPages1.Count);

            SqlCommand cmd1 = new SqlCommand(sql.ToString(),con);

            adapter.SelectCommand = cmd1;

            con.Open();

            adapter.Fill(ds,"table1");

            con.Close();

 

            dt= ds.Tables["table1"];

            htmlHeader =  "<table style='font-size:12px' border='1' cellpadding='0' cellspacing='0' width='100%' bordercolor='#008000' bordercolorlight='#008000' bordercolordark='#FFFFFF'>/n";

            

            for(int i = 0;i < dt.Rows.Count ;i ++)

            {

                htmlBody = htmlBody + String.Format("<tr>/n<td width='12%'>{0}</td>/n<td width='43%'>{1}</td>/n<td width='24%'>{2}</td><td width='21%'>{3}</td>/n</tr>/n",dt.Rows[i][0].ToString(),dt.Rows[i][1].ToString(),dt.Rows[i][2].ToString(),dt.Rows[i][3].ToString());

            }

            htmlFoot = "</table>/n";

 

        this.myHtml.InnerHtml = htmlHeader + htmlBody + htmlFoot;

 

6、  sql.AppendFormat("select top {0} * from [Order Details] where 1=1 and OrderID not in (select top {1} OrderID from [Order Details] where 1=1 order by OrderID desc) order by OrderID desc",this.LzhPages1.Count,this.LzhPages1.CurrentPage * this.LzhPages1.Count);此语句中的SQL语句就是用来分页的,我们的控件只是用来控制页面,数据还得通过SQL语句或存储过程读取。

 

7、  结果图:

 

ASP.NET使用AspNetPager控件实现真分页

随着昨天牛腩新闻系统的发布,这个系统接近尾声了,从始至终,牛腩老师好搞默,而且每个知识点和开发技巧都讲解得特别非常详细。经过牛腩老师最后的点拨,加之本人有一点点强迫症,再加之不管是之前做的测试还是开发...
  • u010927640
  • u010927640
  • 2015年09月04日 22:09
  • 5208

Bootstrap组件之分页

.pagination——指定ul元素包裹分页组件; .pagination-lg、..pagination-sm——改变分页组件的尺寸大小,适配不同屏幕的分辨率; .disabled——指定分页组...
  • bboyjoe
  • bboyjoe
  • 2015年08月01日 17:50
  • 1159

一步一步学ROP之linux_x86篇

0x00    本文仅解释说明蒸米大神一步一步学ROP之linux_x86篇,读者应先阅读这篇文章,遇到问题再来看我这篇文章。    阅读完这两篇文章后,我们会理解ROP(返回导向编程),DEP(堆栈...
  • jltxgcy
  • jltxgcy
  • 2016年02月19日 11:16
  • 2376

Asp.net之真假分页大揭秘、使用AspNetPager实现真分页

最近在web界面的时候,遇到了一些非常现实的问题。最让人头疼的问题就是显示数据中的书画作品。这些书画作品都会以图片的形式展示给用户。 起初做的时候并没有想太多,只按着最简单的方式将所有的图片从数据库中...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2014年01月11日 15:07
  • 17569

Asp.net不拖GridView控件,用Table实现其分页和删除

听人说通过拖控件开发出来的程序,运行效率都不怎么高。 确实,有的网站用拖控件一两天就可以做出来,但是全部靠拖控件会产生很多没有必要的垃圾代码,访问量少还好,但是如果一个网页多出10KB的垃圾代码,一个...
  • qq_32688731
  • qq_32688731
  • 2017年01月03日 10:29
  • 581

ASP.NET C# 后台输出的带页码的分页函数(不用控件)

分页,如果用JS在前台分页,我觉得对SEO不利(js这东西确实是个好东西,但有时候,得考滤SEO),所以写了个ASP.NET 不用控件进行分页,直接从后台输出的,带页码的分页函数,如果您有用,可以参考...
  • xuejunling
  • xuejunling
  • 2013年11月14日 11:50
  • 2906

ASP.NET下数据展示与分页操作总结

ASP.NET作为.NET下开发网站的首选,与数据库打交道是必然的。特别在相关的数据展示与操作这一块,其性能和用户体验对一个网站尤其重要。一个有着对用户操作进行快速响应的网站无疑在当前已经成为一种最基...
  • gxwzmm
  • gxwzmm
  • 2014年01月02日 15:22
  • 2117

ASP.NET 自定义分页按钮

继昨晚用存储过程实现之后,以前一直打算着写个自己定义的分页按钮终于
  • pandeng4639088
  • pandeng4639088
  • 2014年11月21日 01:28
  • 794

asp.net mvc基于jQuery+Ajax实现无刷新分页

自己写了个采用asp.net mvc框架的Demo,分页功能采用的是jQuery+Ajax实现的无刷新分页。 解决方案思想:页面数据的初始加载和按页加载都是通过ajax来进行,页面分页链接点击后利用...
  • wangzl1163
  • wangzl1163
  • 2016年06月22日 15:05
  • 5168

asp.net中ListView分页功能

.aspx代码
  • yayun0516
  • yayun0516
  • 2014年11月17日 15:52
  • 1587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET分页组件学与用——使用篇
举报原因:
原因补充:

(最多只允许输入30个字)