刚学校 .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
------解决方案--------------------------------------------------------
关注一下
顶