急!在线等!点击分页页码后,分页无法正常工作。解决马上给分。

qiaov 2005-12-20 02:38:06
页面可以正常分页,但点击分页页吗后,页面却连datagrid都不显示了,感觉像没有绑定数据,但我在系统的
private void dgdList_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dgdList.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
已经重新绑定了数据,但点击后返回的页面却是连datagrid都没有了,只剩下一些查询选项了,我对比了我可以分页的文件,文件内容基本一样,而且也查看了事件的注册代码,也有啊。
asp.net 1.1,请问这是什么故障?
谢谢。
...全文
234 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiaov 2005-12-20
  • 打赏
  • 举报
回复
找出问题了,竟然是viewstate的原因!:(郁闷,我为了减少代码输出设置了False,却没有想到使分页功能丧失了。唉。多谢大家参与讨论,谢谢。
马上揭帖给分。
qiaov 2005-12-20
  • 打赏
  • 举报
回复
已经删除了Session了,另外我是设置了EnableViewState=False有关系吗?
kingdhy 2005-12-20
  • 打赏
  • 举报
回复
我觉得你应该从“服务器事件”这个角度去考虑一下,看看是不是改变了分页按钮的什么属性,最有可能的就是那个autopostbak属性出问题,另外,关于数据集,我建议直接设一个私有变量,然后在各个方法中引用就是了,例如:private DataSet ds=new DataSet()
wwp4787 2005-12-20
  • 打赏
  • 举报
回复
呵呵这个问题很老火,如果你是做的B/S机构的话,那么在很多人同时访问一个页面的时候你的SESSION里面的数据将成几何增长!!
如果你的BindGrid();函数里面绑定操作没问题的话,要想下是不是服务器负载不了了!!
qiaov 2005-12-20
  • 打赏
  • 举报
回复
to wwp4787(wwp4787)
的确开销吓人,已经快150mb了。唉。
不过我的其它页面也是采用这个方法,但可以完成重新绑定,这个方法我是看飞刀的亲密接触的方法做的。另外,我的PageIndexChange事件就有绑定的操作啊。
放入session只是方便,没有考虑开销问题。

另外由于特殊行业业务的问题不可以公开ItemBound部分的代码。
wwp4787 2005-12-20
  • 打赏
  • 举报
回复
“Postback后不显示数据了,是否是.net的bug”
你最好把你的程序发上来,让大家帮你分析,如果没绑定数据是你程序的问题,如果程序是对的,建议你重新装你的.NET开发环境!!!
wwp4787 2005-12-20
  • 打赏
  • 举报
回复
“Postback后不显示数据了,是否是.net的bug”
你最好把你的程序发上来,让大家帮你分析,如果没绑定数据是你程序的问题,如果程序是对的,建议你重新装你的.NET开发环境!!!
adamzb 2005-12-20
  • 打赏
  • 举报
回复
为什麽要放在Session[""]里呢?
直接用objDataSet = ds;多好
wwp4787 2005-12-20
  • 打赏
  • 举报
回复
你出现的情况就是在翻页的时候你的datagrid没有绑定数据,因为在你翻页的时候页面要进行回传,这样你的datagrid的数据源丢失,所以就什么都显示不出来
处理的情况有两种:
1、在翻页事件里面重新找好你要绑定的数据源,然后绑定。
2、在页面开始就找到数据源,然后SESSION,在翻页的时候再dgdList.DataSource=取出你SESSION里面的数据,再BindGrid();(不推荐,这样服务器的开销太吓人!!)

多看看资料!!!
qiaov 2005-12-20
  • 打赏
  • 举报
回复
现在的问题是Postback后不显示数据了,是否是.net的bug
其它还要两个页面基本是拷贝过去的,都可以执行,值得注意的是这个页面开始是可以分页的,今天突然发现不行了,我记不清什么时候修改过,但系统就是不执行分页了
qiaov 2005-12-20
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!Page.IsPostBack)
{
string strSql = @"SELECT UserName, UserReservedDate from rep_qq where hasIgnored='0' ";
DataSet ds = new DataSet();
SqlObject so = new SqlObject();
ds = so.ExecuteSQL(strSql);
so.CloseConnection();
Session["QueryData"] = ds;
BindGrid();
}
}

private void BindGrid()
{
try
{
objDataSet = (DataSet)Session["QueryData"];
dgdList.DataSource = objDataSet;
dgdList.DataBind();
}
catch(Exception e)
{
Response.Write(e.Message);
}
}
adamzb 2005-12-20
  • 打赏
  • 举报
回复
在Load事件中是否加了这个?
if(!IsPostBack)
{
BindGrid();
}
levin9 2005-12-20
  • 打赏
  • 举报
回复
把BindGrid()和page_load的代码贴出来
eflea 2005-12-20
  • 打赏
  • 举报
回复
把BindGrid()的代码贴出来
qiaov 2005-12-20
  • 打赏
  • 举报
回复
没有人会吗?

62,046

社区成员

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

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

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

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