读书人

关于DataList分页有关问题!(帮顶有分)

发布时间: 2012-02-29 16:44:10 作者: rapoo

关于DataList分页问题!(帮顶有分)
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitData();
}
}

/// <summary>
/// 数据初始化
/// </summary>
protected void InitData()
{
int Pageindex = 0;
Business.Select bs = new Business.Select();
bs.Area = Session[ "strArea "].ToString();

//对用于分页的类的引用
PagedDataSource pds = new PagedDataSource();
pds.DataSource = bs.SelectUser().Tables[0].DefaultView;
pds.AllowPaging = true;
//每页显示的行数
pds.PageSize = 1;

if (Request.QueryString[ "Page "] != null)
{
Pageindex = Convert.ToInt32(Request.QueryString[ "Page "]);
}
else
{
Pageindex = 1;
}


//设置当前页
if (Pageindex < 1)
{
Pageindex = 1;
}
pds.CurrentPageIndex = Pageindex - 1;



dlList.DataSource = pds;
dlList.DataBind();

//显示页码
lbCount.Text = pds.DataSourceCount.ToString(); //总记录条数
lbTotal.Text = pds.PageCount.ToString(); //总页数
lbCurrent.Text = Pageindex.ToString(); //当前页
//ddlCount.Text = Jump_List(pds.PageCount, Pageindex, L_Manage);
for (int i = 1; i <= pds.PageCount; i++)
{
ddlCount.Items.Add(i.ToString());
}

HlFirst.NavigateUrl = Request.CurrentExecutionFilePath + "?Page= " + 1;
HlPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page= " + (Pageindex - 1);
HlNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page= " + (Pageindex + 1);
HlLast.NavigateUrl = Request.CurrentExecutionFilePath + "?Page= " + pds.PageCount.ToString();

//确定链接的显示方式
if (Pageindex <= 1 && pds.PageCount <= 1)
{
HlFirst.NavigateUrl = " ";
HlPrev.NavigateUrl = " ";
HlNext.NavigateUrl = " ";
HlLast.NavigateUrl = " ";


}
if (Pageindex <= 1 && pds.PageCount > 1)
{
HlFirst.NavigateUrl = " ";
HlPrev.NavigateUrl = " ";
}
if (Pageindex > = pds.PageCount)
{
HlNext.NavigateUrl = " ";
HlLast.NavigateUrl = " ";
}
}
第一次加载页面的时候,一切正常,点击下一页的时候数据没有加载上去,望各位高手指点迷津,谢谢~

[解决办法]
翻页以后还要执行一次InitData();
[解决办法]
先占个地方!
[解决办法]
你在分页事件里执行InitData(),重新绑定数据了么?
如果绑了你就跟踪一下 看看是那里的问题 应该很好解决啊
[解决办法]
点击下一页的时候数据没有加载上去

======

你得再次加载数据,并绑定到 DataList 上
[解决办法]

重新加载和绑定
[解决办法]
做人要厚道!
[解决办法]
ding
[解决办法]
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitData();
}
}
这个不行吧,每次都要加载的
[解决办法]
if (!IsPostBack) 去掉.
[解决办法]
关注~
[解决办法]
重新绑定
[解决办法]
whb147(苦乐随缘) ( ) 信誉:100 2007-09-11 11:52:25 得分: 0
drk928(一起看斜阳) ( ) 信誉:105
就他们说的,绝对没问题
什么重新帮定都是扯的,也不看看具体的问题

[解决办法]
分页的话,看每次页的条数,在看看

[解决办法]
关注~

[解决办法]
去掉.if (!IsPostBack)
[解决办法]
不去掉.if (!IsPostBack)



加个翻页控件AspNetPager_grd就好了.
private void Bind(int intCurrentPage)
{
string ErrMessage = null;
Mod_Business User_Biz=new Mod_Business();




User_Biz.iPageIndex=intCurrentPage;
if(User_Biz.Get_SystemList(out ErrMessage))
{
AspNetPager_grd.Visible = true;
AspNetPager_grd.CustomInfoText = " <br> 符合条件 记录数: " + User_Biz.iRecordCount+ " 总页数 为: " + User_Biz.iPageCount + " 当前页为: " + User_Biz.iPageIndex + " <br> ";
AspNetPager_grd.RecordCount = User_Biz.iRecordCount;
AspNetPager_grd.PageSize = User_Biz.iPageSize;
AspNetPager_grd.DataBind();

gridsysname.DataSource=User_Biz.ResultDS.Tables[1].DefaultView;;
gridsysname.DataBind();
}
lbl_err.Text=ErrMessage;
[解决办法]
up
[解决办法]
顺便说下上面的代码没用第三方控件,HTML代码如下:
<%@ Control Language= "C# " AutoEventWireup= "true " CodeFile= "booklist.ascx.cs " Inherits= "usercontrols_booklist " %>
<br />
<asp:HyperLink ID= "up " runat= "server "> 上一页 </asp:HyperLink>
<asp:HyperLink ID= "down " runat= "server "> 下一页 </asp:HyperLink> <br />
<asp:DataList ID= "booklist " runat= "server " EnableViewState= "False " OnItemCommand= "booklist_ItemCommand ">
<ItemTemplate>
<asp:Image ID= "image " runat= "server "/>
<asp:HyperLink ID= "bookname " runat= "server " Text = ' <%#Eval( "bookname ")%> ' NavigateUrl = ' <%# "../aboutbook.aspx?bookid= "+Eval( "bookid ")%> '> </asp:HyperLink>
<asp:Button ID= "buy " runat= "server " Text= "购买 " CommandArgument= ' <%#Eval( "bookid ")%> '/> <br />
<asp:Label ID= "bookauthor " runat= "server " Text = ' <%#Eval( "bookauthor ")%> '> </asp:Label> <br />
<asp:Label ID= "bookconcern " runat= "server " Text = ' <%#Eval( "bookconcern ")%> '> </asp:Label> <br />
<asp:Label ID= "price " runat= "server " Text = ' <%#Eval( "bookprice ")%> '> </asp:Label> <br />
<asp:Label ID= "description " runat= "server " Text = ' <%#Eval( "description ")%> '> </asp:Label>
</ItemTemplate>
</asp:DataList>

读书人网 >asp.net

热点推荐