欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

亲密接触ASP.Net(11)

程序员文章站 2022-11-03 19:13:57
在asp.net内中,如何做到分页 我不只一次地被别人问起,如何在asp.net实现分页功能。我实在不愿意回答这个问题。因为在asp.net中实现分页,实在是太简单了,简单到...
asp.net内中,如何做到分页

我不只一次地被别人问起,如何在asp.net实现分页功能。我实在不愿意回答这个问题。因为在asp.net中实现分页,实在是太简单了,简单到你一看到程序就会去气得跳楼,呵呵要发表感叹,为什么这个东东不早出来。

在以住的web技术中,我们要做到分页,经常是一长串代码才能搞定它,而且每用一个页面,就要重写一次,烦的要命。但是在asp.net中借助datagrid控件,我们分页程序可以轻松搞定,需要的只是对datagrid控件做一些设定。我们还是借助一个程序来看:)

<% @ page language="c#" %>
<% @ import namespace="system.data" %>
<% @ import namespace="system.data.ado" %>
<script language="c#" runat="server">
public void page_load(object src,eventargs e)
{
//联结语句
string myconnstring = "driver={microsoft access driver (*.mdb)}; dbq=c:/test/test.mdb;";
string strcomm = "select * from userlist order by id";

//打开一个联结
adoconnection myconnection = new adoconnection(myconnstring);

//打开两个datasetcommand
adodatasetcommand mycomm = new adodatasetcommand(strcomm,myconnection);


dataset mydataset = new dataset();

//把userlist,booklist表存入dataset
mycomm.filldataset(mydataset,"userlist");


datagrid1.datasource = mydataset.tables["userlist"].defaultview;
datagrid1.databind();

}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
<asp:datagrid id="datagrid1" runat="server"
bordercolor="black"
borderwidth="1"
gridlines="both"
cellpadding="3"
cellspacing="0"
font-name="verdana"
font-size="8pt"
headerstyle-backcolor="#aaaadd"
alternatingitemstyle-backcolor="#eeeeee"
/>
</form>
</body>
</html>

它的显示结果为:



图11-1

大家可以看到在这个userlist表中的11条数据全都出来了,没有分页。

下面我们小改一下datagrid控件的属性。加上

allowpaging="true"
pagesize="5"
pagerstyle-horizontalalign="right"

再看看:


图11-2

看看图片的最下面,是不是多了,是不是,这就表示分页啦,我们去按那个标签就可以看到下一页的情况:)


图11-4

这一切是不是太简单了。呵呵。他们的来源只是我加了那三个属性。其实只要一个allowpaging就行了。

allowpaging是指允许分页,这个是最主要的。有了它,我们才能分页。

pagesize是指定每页显示的记录数,如果不写,就会默认为10条。

pagerstyle-horizontalalign是指定分面显示的定位,默认是left。

全部代码是:

<asp:datagrid id="datagrid1" runat="server"
allowpaging="true"
pagesize="5"
pagerstyle-horizontalalign="right"
bordercolor="black"
borderwidth="1"
gridlines="both"
cellpadding="3"
cellspacing="0"
font-name="verdana"
font-size="8pt"
headerstyle-backcolor="#aaaadd"
alternatingitemstyle-backcolor="#eeeeee"
/>
 

是不是很简单。呵呵。

注意写这个时不要忘记<form>了,不然你的页是能显示,但是不能翻,呵呵。因为这是需要提交的:)

下一节我们再讲解更详细的内容,呵呵,主要是考虑到图片太多了。浏览速度会变慢。