动态数据绑定问题

shuyf2000 2007-08-14 09:58:43
刚学校 .Net2.0 的数据绑定,出了下面一个问题,请大家看看。

一个简单的数据绑定步骤如下:
拉一个数据源控件,设置数据源(包括数据库连接和表等),然后再拉一个GridView控件出来,把其数据源指定到数据源控件。这样一个最简单的数据显示就完成了,提取的是表中的所有数据。我给分页,排序都打了勾,也都测试正常。

以上是默认拉出来的方式,网页一打开就显示表中的所有记录。我想这样,放一个按钮,网页刚打开时不显示数据表,按一下按钮再显示。做法如下:
先把GridView 的数据源清除,保留分页,排序属性,也不清除列。
然后在 按钮的 事件如下

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.GridView1.DataSource = SqlDataSource1
Me.GridView1.DataBind()
End Sub

这样,网页刚打开GridView没有数据,按了一下按钮后就有数据了。可是,当点一下第2页时,出现下面的错误,如何解决?






GridView“GridView1”激发了未处理的事件“PageIndexChanging”。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: GridView“GridView1”激发了未处理的事件“PageIndexChanging”。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[HttpException (0x80004005): GridView“GridView1”激发了未处理的事件“PageIndexChanging”。]
System.Web.UI.WebControls.GridView.OnPageIndexChanging(GridViewPageEventArgs e) +324
System.Web.UI.WebControls.GridView.HandlePage(Int32 newPage) +110
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +516
System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +213
System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +242
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838









...全文
140 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lishijie910123 2007-08-14
  • 打赏
  • 举报
回复
关注一下
shuyf2000 2007-08-14
  • 打赏
  • 举报
回复
问题是解决了,我自己写了这样的事件代码



Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
Me.SqlDataSource安装主表列表.SelectCommand = "" Me.GridView1.PageIndex = e.NewPageIndex
Me.GridView1.DataBind()
End Sub


但,有没有不用写这个事件的办法?

62,074

社区成员

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

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

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

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