问题描述
只有两个方法。请大侠看一下毛病在什么地方!publicPagedDataSourcegetDataSourse()//数据绑定的方法{SqlConnectioncn=newSqlConnection("server=.;database=pubs;uid=sa;pwd=123456");SqlCommandcmd=newSqlCommand("selectau_id,au_lname,address,phonefromtemp",cn);SqlDataAdaptersda=newSqlDataAdapter(cmd);DataSetads=newDataSet();sda.Fill(ds,"new");PagedDataSourcepds=newPagedDataSource();pds.DataSource=ds.Tables[0].DefaultView;pds.AllowPaging=true;pds.PageSize=6;DataList1.DataKeyField="au_id";pds.CurrentPageIndex=Convert.ToInt32(Request.QueryString["page"]);returnpds;}protectedvoidlkbnt_Click(objectsender,EventArgse)//下一页{lkbnt.PostBackUrl="?page="+Convert.ToInt32(getDataSourse().CurrentPageIndex+1);DataList1.DataSource=getDataSourse();DataList1.DataBind();}
解决方案
解决方案二:
privatePagedDataSourcepds=null;privatevoidBindData(){pds=getDataSourse();DataList1.DataSource=pds;DataList1.DataBind();}publicPagedDataSourcegetDataSourse()//数据绑定的方法{SqlConnectioncn=newSqlConnection("server=.;database=pubs;uid=sa;pwd=123456");SqlCommandcmd=newSqlCommand("selectau_id,au_lname,address,phonefromtemp",cn);SqlDataAdaptersda=newSqlDataAdapter(cmd);DataSetads=newDataSet();sda.Fill(ds,"new");pds=newPagedDataSource();pds.DataSource=ds.Tables[0].DefaultView;pds.AllowPaging=true;pds.PageSize=6;DataList1.DataKeyField="au_id";pds.CurrentPageIndex=Convert.ToInt32(Request.QueryString["page"]);returnpds;}protectedvoidlkbnt_Click(objectsender,EventArgse)//下一页{lkbnt.PostBackUrl="?page="+Convert.ToInt32(Request["page"])+1;}privatevoidPage_Load(objectsender,System.EventArgse){if(!Page.IsPostBack){BindData();}}
解决方案三:
//判断页面是否是回传protectedvoidPage_Load(objectsender,System.EventArgse){if(!Page.IsPostBack){BindData();}}
解决方案四:
引用1楼46539492的回复:
"?page="+Convert.ToInt32(Request["page"])+1;
这句话好像不对啊
解决方案五:
引用2楼amandag的回复:
//判断页面是否是回传C#codeprotectedvoidPage_Load(objectsender,System.EventArgse){if(!Page.IsPostBack){BindData();}}
八成都是Page.IsPostBack没有写
解决方案六:
我确定我写了现在点击“下一页”第一次的时候没有反应,但是第二次点击就好了。
解决方案七:
有点奇怪
解决方案八:
protectedvoidlkbnt_Click(objectsender,EventArgse)//下一页{lkbnt.PostBackUrl="?page="+Convert.ToInt32(getDataSourse().CurrentPageIndex+1);}你都链到别的网址了DataList1.DataSource=getDataSourse();DataList1.DataBind();这两行就不会再有效了的!pageload里加上if(!Page.IsPostBack){BindData();}试一试!
解决方案九:
你是不是在客户端给“下一页”按钮写了没用的响应事情。之前我在项目中好像遇到过这种状况。~
解决方案十:
引用3楼fightfree2000的回复:
引用1楼46539492的回复:"?page="+Convert.ToInt32(Request["page"])+1;这句话好像不对啊
protectedvoidlkbnt_Click(objectsender,EventArgse)//下一页{intcurrentPage=0;if(!String.IsNullOrEmpty(Request["page"])){currentPage=int.Parse(Request["page"]);}lkbnt.PostBackUrl="?page="+Convert.ToInt32(currentPage)+1;}
解决方案十一:
lkbnt.PostBackUrl="?page="+Convert.ToInt32(currentPage)+1;================lkbnt.PostBackUrl="?page="+(currentPage+1).ToString();