今天晚上手痒,写了一下代码。使用aspnetpager这个免费的分页控件。
aspx页面部分代码如下:
- <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="WebForm1.aspx.cs"Inherits="LearningAspNet.无刷新分页.WebForm1"%>
-
<%@Registerassembly="AspNetPager"namespace="Wuqi.Webdiyer"tagprefix="webdiyer"%>
-
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<htmlxmlns="http://www.w3.org/1999/xhtml">
-
<headrunat="server">
-
<title>AspNetPager+存储过程完成分页</title>
-
</head>
-
<body>
-
<formid="form1"runat="server">
-
<div>
-
<asp:RepeaterID="Repeater1"runat="server"onitemcommand="Repeater1_ItemCommand"
-
onitemdatabound="Repeater1_ItemDataBound">
-
<HeaderTemplate>
-
<table><tr>
-
<td>学生编号</td>
-
<td>学生姓名</td>
-
<td>学生性别</td>
-
<tdalign="center">操作</td>
-
</tr>
-
</HeaderTemplate>
-
<ItemTemplate>
-
<tr>
-
<td><%#Eval("sid")%></td>
-
<td><%#Eval("sname")%></td>
-
<td><%#Eval("ssex")%></td>
-
<td><asp:ButtonID="Button1"runat="server"Text="Button"CommandName="btn"CommandArgument='<%#Eval("sid")%>'/>
-
</td></tr>
-
</ItemTemplate>
-
<AlternatingItemTemplate>
-
<trstyle="background-color:Aqua">
-
<td><%#Eval("sid")%></td>
-
<td><%#Eval("sname")%></td>
-
<td><%#Eval("ssex")%></td>
-
<td>
-
<asp:ButtonID="Button1"runat="server"Text="Button"CommandName="btn"CommandArgument='<%#Eval("sid")%>'/>
-
</td>
-
</tr>
-
</AlternatingItemTemplate>
-
<FooterTemplate>
-
</table>
-
</FooterTemplate>
-
</asp:Repeater>
-
<asp:LabelID="Label1"runat="server"Text=""></asp:Label>
-
</div>
-
-
<webdiyer:AspNetPagerID="AspNetPager1"runat="server"OnPageChanged="AspNetPager1_PageChanged">
-
</webdiyer:AspNetPager>
-
-
</form>
-
</body>
-
</html>
cs后台部分代码:
- usingSystem;
-
usingSystem.Collections.Generic;
-
usingSystem.Linq;
-
usingSystem.Web;
-
usingSystem.Web.UI;
-
usingSystem.Web.UI.WebControls;
-
usingSystem.Data;
-
usingSystem.Data.SqlClient;
-
usingSystem.Configuration;
-
namespaceLearningAspNet.无刷新分页
- {
-
publicpartialclassWebForm1:System.Web.UI.Page
- {
-
stringconnStr=ConfigurationManager.ConnectionStrings["studentConnectionString"].ToString();
-
protectedvoidPage_Load(objectsender,EventArgse)
- {
-
if(!IsPostBack)
- {
- bind();
- }
- }
-
-
-
-
privatevoidbind()
- {
-
this.AspNetPager1.RecordCount=getRecordCount();
-
intcurPage=this.AspNetPager1.CurrentPageIndex;
-
intcount=this.AspNetPager1.PageSize=3;
-
Repeater1.DataSource=getData(curPage,count,"stuinfo","sid");
- Repeater1.DataBind();
- }
-
-
-
-
-
-
-
-
-
privateDataSetgetData(intcurPage,intcount,stringtblName,stringcolum){
-
-
-
SqlConnectionconn=newSqlConnection(connStr);
-
try
- {
-
- conn.Open();
-
DataSetds=newDataSet();
-
SqlCommandcmd=newSqlCommand();
-
SqlDataAdapterda=newSqlDataAdapter(cmd);
- cmd.Connection=conn;
- cmd.CommandType=CommandType.StoredProcedure;
-
cmd.CommandText="page";
-
-
cmd.Parameters.Add(newSqlParameter("@currentPage",SqlDbType.Int));
-
cmd.Parameters.Add(newSqlParameter("@count",SqlDbType.Int));
-
cmd.Parameters.Add(newSqlParameter("@tableName",SqlDbType.VarChar));
-
cmd.Parameters.Add(newSqlParameter("@column",SqlDbType.VarChar));
-
-
da.SelectCommand.Parameters["@currentPage"].Value=curPage;
-
da.SelectCommand.Parameters["@count"].Value=count;
-
da.SelectCommand.Parameters["@tableName"].Value=tblName;
-
da.SelectCommand.Parameters["@column"].Value=colum;
-
- da.Fill(ds);
-
returnds;
-
- }
-
catch(Exception)
- {
-
throw;
- }
-
finally{
- conn.Close();
- }
- }
-
-
-
-
-
privateintgetRecordCount()
- {
-
inti=0;
-
SqlConnectionconn=newSqlConnection(connStr);
- conn.Open();
-
stringsql="selectcount(*)fromstuinfo";
-
SqlDataAdapterda=newSqlDataAdapter(sql,conn);
-
objectobj=da.SelectCommand.ExecuteScalar();
-
i=int.Parse(obj.ToString());
- conn.Close();
-
returni;
-
- }
-
-
-
-
-
-
protectedvoidAspNetPager1_PageChanged(objectsender,EventArgse)
- {
- bind();
- }
-
-
-
-
-
-
protectedvoidRepeater1_ItemCommand(objectsource,RepeaterCommandEventArgse)
- {
-
if(e.CommandName=="btn")
- {
-
Label1.Text="我的学号是"+e.CommandArgument.ToString();
-
Label1.Style["color"]="red";
- }
- }
-
-
-
-
-
-
protectedvoidRepeater1_ItemDataBound(objectsender,RepeaterItemEventArgse)
- {
-
if(e.Item.ItemType==ListItemType.Item)
- {
-
Buttonbtn=(Button)e.Item.FindControl("Button1");
-
btn.Text="汇报";
-
}elseif(e.Item.ItemType==ListItemType.AlternatingItem)
- {
-
Buttonbtn=(Button)e.Item.FindControl("Button1");
-
btn.Text="汇报";
- }
- }
- }
- }
数据库部分,分页存储过程:
-
ifobject_id('page','p')isnotnull
-
dropprocpage
- go
-
createprocpage
-
@currentPageint=1,
-
@countint=10,
-
@tableNamevarchar(20),
-
@columnvarchar(20)
-
as
-
declare@sqlnvarchar(1000)
-
set@sql=N'selecttop'+cast(@countasnvarchar(3))
-
set@sql=@sql+N'*from'+@tableName+'where'+@column+'notin('
-
set@sql=@sql+N'selecttop'+cast(((@currentPage-1)*@count)asnvarchar(3))
-
set@sql=@sql+@column+N'from'+@tableName+')'
-
exec(@sql)
- go
-
execpage1,2,'stuinfo','sid'
由于时间有限,代码写的很仓促,很凌乱。大家请勿笑话!
分享到:
相关推荐
repeater+aspnetpager实现分页, 以前没用过这个工具,拿来练练手,如果你也和我一样是初学者的话不妨看一下……
NSUNV用法,NSUNV分页实现,AspNetPager用法,AspNetPager分页实现源码,NSUNV结合AspNetPager实现分页功能源码,对你绝对有帮助
Asp.Net数据控件引用AspNetPager.dll分页 今天与大家分享一下“Asp.Net数据控件引用AspNetPager.dll分页”首先声明以下几点: 1、也许讲解有点初级,希望高手不要“喷”我,因为我知道并不是每一个人都是高手,我也...
我见过的分页控件中最简 你可以到http://blog.csdn.net/laolaowhn/archive/2007/12/29/2002769.aspx 查看说明
AspNetPager无刷新分页
DataList控件与AspNetPager分页控件三层实现,数据库都有,很好学习使用。
AspNetPager ASP.net分页控件
AspNetPager.dll分页控件.rar
很多种AspNetPager多种分页功能哦
一个梦想的三层架构+存储过程后台分页+AspNetPager前台分页的经典例子,有讲解PDF文档,利于像我一样的初学者学习。值得学习下载。。。
三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的显示方式与该控件无关,所以需要手写数据连接方法来配合, 四、结合TOP 。。。NOT IN 的通用存储过程分页方法使用AspNetPager...
aspnetpager直接对所有记录分页 Aspnetpager 结合 pageDataSource 实现 可自定义每页的记录数 代码量少
aspnetpager控件+分页存储过程(项目例子)
AspNetPager分页控件源代码.rar
【ASP.NET编程知识】Aspnetpager对GridView分页并顺利导出Excel.docx
本人新手,以前用girdview绑定数据库都是通过sqldatasource实现绑定。 今天闲来无事,用代码实现绑定,同时通过aspnetpager实现分页。 本内容适合新手~
aspnetpager 对数据的高效分页 对数据的性能优化
分页算法中最全的,里面有分页的实例,又分页的sql语句,有分页的dll控件。绝对能满足你的分页要求。分页算法中最全的,里面有分页的实例,又分页的sql语句,有分页的dll控件。绝对能满足你的分页要求。
AspNetPager+GridView实现分页的实例代码,需要的朋友可以参考一下
chanagePage.css提供了多种样式,具体使用方式见博客