为什么Datalist分页后“下一页”要点击2次才跳转?(附代码)

问题描述

只有两个方法。请大侠看一下毛病在什么地方!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();

时间: 2024-10-30 22:28:20

为什么Datalist分页后“下一页”要点击2次才跳转?(附代码)的相关文章

web前端-datatables 分页的下一页为什么是被禁用的

问题描述 datatables 分页的下一页为什么是被禁用的 我用的datatables 插件,开启了分页,但是分页的下一页是被禁用的 ,上一页和页码单击都正常, 解决方案

分享后经过多人点击才能看的php/asp/htmljs代码怎么写

问题描述 分享后经过多人点击才能看的php/asp/htmljs代码怎么写 刚刚在一个网站上看到一个源码,需要你分享该网页后.有三个不同的人点击访问了.你才能看到他的隐藏内容.尽量不用api 解决方案 那最简单的方式就是根据当前来访者生成一个身份id,如果有会员系统就好了,这样的话可以直接根据用户id来判断了,分享的时候带上用户id这样再根据童虎id来进行统计,每次用户打开的时候更新一下这个推广用户的次数,当这个推广用户打开的时候判断一下推广次数,这样就可以实现来. 解决方案二: 你需要一个服务

tomcat集群后,我的分页点下一页没有显示下页数据

问题描述 说明:我用了tomcat集群后,我的分页数据是放在session中的,但是集群后我点击下一页没有反应,我在本地测试用一个tomcat的情况下,点击下一页是会读取出来下一页的数据的,但是服务器集群后点击下一页没有反应,求大哥们帮忙说说这个问题,求解决方案 解决方案 你打下日志,看问题出再哪啊!(分页数据还放session 个人感觉有问题哈!集群可以用使用公用缓存,分布式缓存之类的解决)解决方案二:sesstion没同步吧?解决方案三:session是缓存起来的,你集群是不是没有缓存同步

input type="file" 造成点浏览按钮 要点击2次 才弹出窗口

问题描述 .Content{position:absolute;margin:auto;z-index:-1;width:100%;min-width:280px;/*top:0;left:0;*/top:35%;left:50%;right:0;bottom:0;opacity:0.6;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);

easyui 分页查询 点击下一页的时候怎么把上一页多选框勾选的多选框清空

问题描述 easyui 分页查询 点击下一页的时候怎么把上一页多选框勾选的多选框清空 var columns = [[ { field:'ck',checkbox:true }, {field:'productcode',title:'商品代码',width:70,align:'left',sortable:true}, {field:'productdesc',title:'商品名称',width:70,align:'left',sortable:true}, {field:'barcode'

c#-C# acess数据库 输如账号后 点击确定按钮后下个界面的textbox显示对应账号的所有信息

问题描述 C# acess数据库 输如账号后 点击确定按钮后下个界面的textbox显示对应账号的所有信息 C# acess数据库 输如账号后 点击确定按钮后下个界面的textbox显示对应账号的所有信息 求代码 解决方案 先把所有我回答你的帖子都采纳了,把你的程序上传到网盘,我可以帮你. 几句话说不清楚. 解决方案二: 两个问题,操作access,窗体间传值,老生常谈的问题,你去论坛里或搜索里搜吧,一堆一堆的

绑定DataList并分页以后(我在DataList中加了一个自定义控件,然后在模板中绑定),点击下一页,DataList内的自定义控件内容不显示(绑不上,但是第一页能显示)

问题描述 1.这是我自定义控件的代码:privatestringpid;publicstringPid{get{returnpid;}set{pid=value;}}protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){OleDbCommandcmd=newOleDbCommand("select*from[product]whereid='"+pid+"'",ConDB.GetCo

想用PagedDataSource对datalist分页,代码如下,但是下一页没用,求大神相助啊!!

问题描述 publicpartialclass_Default:System.Web.UI.Page{staticstringconstr="DataSource=.;InitialCatalog=KCSJ;UserID=sa;password=123";SqlConnectioncon=newSqlConnection(constr);protectedvoidPage_Load(objectsender,EventArgse){con.Open();SqlDataAdapterda

求助: DataList 分页写完了 查询列以后 我想点下一页的时候还是显示查询列信息 如何绑定 我一点下一页就没查询了

问题描述 前台就一个2个多选按钮点几排序一翻页就没效果了求请如何绑定谁会帮帮我以下是后台代码数据库是SQL2000绑的jobs表usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;