Grivew 分页不成功!

likevs 2007-12-04 10:24:21
分页出错。

我看过书上的例子,他是这样的:

在.cs文件中:
public void getdata()
{
DataTable DT=new DataTable();
...
//到数据库取得数据,给DT,然后

this.GridView1.DataSource=DT;
this.GridView1.DataBind();
}

他分页时(那个分页属性为TRUE,这个不用我多说了),是在以下事件处理中进行的:

GridView1_PageIndexChanging(....)
{
this.GridView1.PageIndex=e.NewPageIndex
getdata();
}


那时我没注意到它是否有错,所以就不试,而现在我自己的网站上,也用到分页了,可是出错了,方法也跟他上面差不多,如下:

DataTable DT=new DataTable();//作为全局(这个页面)的对象

在页面加载时,我就到数据库取得数据,赋给DT了,然后就是:
this.GridView1.DataSource=DT;
this.GridView1.DataBind();

我在分页时,也是在:
GridView1_PageIndexChanging(....)
{
this.GridView1.PageIndex=e.NewPageIndex
this.GridView1.DataSource=DT;
this.GridView1.DataBind();

}

可是分页不成功!!!!!!

我想不通,他的例子上的,不就是每次分页时再到数据库去取数据一次吗?那我现在的DT是全局的对象啊,和再次取没什么区别吧?对道DT数据会自己丢失?????

因为一些原因,我没有测试每次分页时再到数据库去取数据一次这样行不行,所以上来这里问。

请有经验的朋友能帮我解决一下。


我见过有些书上的例子是在:

GridView1_PageIndexChanged(....)
{
//他是在这里处理的,代码我忘了,不知道有什么区别?

}


分页,例子上有的是,可是现实就是不同书的,真是郁闷!!



...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tyb1222 2007-12-05
  • 打赏
  • 举报
回复
在页面的postback里面你有绑定吗..
fang1572 2007-12-05
  • 打赏
  • 举报
回复
可以试试定义一个viewstate,把DT放在里面,我一般都是这么做的,不过我用的分页不是GRIDVIEW自带的
SaintKaKa 2007-12-05
  • 打赏
  • 举报
回复
是postback和viewstate导致数据丢失的
syc958 2007-12-05
  • 打赏
  • 举报
回复
每次出现this.GridView1.DataSource=DT; this.GridView1.DataBind(); 的时候用getdata() 代替!要不然肯定没有值,你又不是全局静态变量!
likevs 2007-12-05
  • 打赏
  • 举报
回复
全局变量怎么也会丢失的?

难道是拉圾回收机制作怪???

那我要每次分页时,再重新到数据库去取得数据了吗?
likevs 2007-12-05
  • 打赏
  • 举报
回复
嗯,大家一说,八成是postback和viewstate导致数据丢失了

huming_h 2007-12-05
  • 打赏
  • 举报
回复
这个就是页面的生存周期的问题了,web是无状态的。跟winform不一样。如果不想从数据库中取,可以放在viewstate里。
这是我的理解。不知道对不对。
huming_h 2007-12-04
  • 打赏
  • 举报
回复
因为dt数据丢失了。

62,073

社区成员

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

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

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

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