关于asp.net分页像asp分页一样

booro 2006-05-15 01:32:27
有什么办法可以让ASP.NET的分页和asp的分页一样
自己写代码来分的
高手能给个提议吗
...全文
208 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wizzercn 2006-05-15
  • 打赏
  • 举报
回复
ToPage 从url中得到



private void Bind_drp1(int ToPage)
{
int CurrentPage = ToPage;
int PageSize = 5;
int PageCount;
int RecordCount;
string PageSQL;
string DataTable = "riji";
string DataFiled = "nom";
string DataFileds = "nom,x_time,c_time,tianqi,xinq,riji,is_lock ";
string DataOrders = "c_time Desc";
SqlConnection Conn = db.cl();
Conn.Open();

//Response.Write("Select Count("+DataFiled+") From "+DataTable);
//Response.End();
//* 取得记录总数,计算总页数
SqlCommand cmd = new SqlCommand("Select Count("+DataFiled+") From "+DataTable,Conn);
RecordCount = Convert.ToInt32(cmd.ExecuteScalar());
if ((RecordCount % PageSize) != 0)
{
PageCount = RecordCount/PageSize + 1;
}
else
{
PageCount = RecordCount/PageSize;
}
if (ToPage > PageCount)
{
CurrentPage = PageCount;
}
if (CurrentPage <= 1)
{
PageSQL = "Select Top "+PageSize+" "+DataFileds+" From "+DataTable+" Order By "+DataOrders;
}
else
{
PageSQL = "Select Top "+PageSize+" "+DataFileds+" From "+DataTable+" Where "+DataFiled+" Not In ( Select Top "+PageSize*(CurrentPage-1)+" "+DataFiled+" From "+DataTable+" Order By "+DataOrders+" ) Order By "+DataOrders;
}
SqlDataAdapter oda = new SqlDataAdapter(PageSQL,Conn);
DataSet ds = new DataSet();
oda.Fill(ds,"infList");

int p=RecordCount/PageSize+1;
this.L2.Text=p.ToString();
this.l1.Text = Convert.ToString(RecordCount);
this.up.NavigateUrl = "?ToPage=1";
this.down.NavigateUrl = "?ToPage="+PageCount;
this.t1.Text = Convert.ToString(CurrentPage);
if (CurrentPage <= 1)
{
this.up.Enabled = false;
this.up.ForeColor=Color.DarkGray;
CurrentPage = 1;
}
else
{
this.up.Enabled = true;
this.up.ForeColor=Color.Yellow ;
this.up.NavigateUrl = "?ToPage="+(ToPage-1);
}
if (CurrentPage >= PageCount)
{
this.down.Enabled = false;
this.down.ForeColor=Color.DarkGray;
CurrentPage = PageCount;
}
else
{
this.down.Enabled = true;
this.down.ForeColor=Color.Yellow;
this.down.NavigateUrl = "?ToPage="+(ToPage+1);
}
drp1.DataSource = ds.Tables["infList"].DefaultView;
drp1.DataBind();
Conn.Close();


}
周力 2006-05-15
  • 打赏
  • 举报
回复
ASP。NET也支持RECORDER这样的方法
PagedDataSource DataRS = new PagedDataSource();
DataRS.DataSource = ds.Tables[0].DefaultView;
lb1.Text="记录总数:"+ds.Tables[0].Rows.Count.ToString();
DataRS.AllowPaging = true;
DataRS.PageSize = 5;
周力 2006-05-15
  • 打赏
  • 举报
回复
分页方法很多。
自带的分页功能只是一种方法而已
booro 2006-05-15
  • 打赏
  • 举报
回复
好像在asp.net中没有哪个控件像recordset这个一样啊
能给出代码来吗
我是丁学 2006-05-15
  • 打赏
  • 举报
回复
可以啊,你甚至可以直接把原来的ASP分页代码COPY过来稍加修改就使用
不过,既然已经有了方便的办法,为什么还要费力气去写呢?

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧