分享

GridView激发了未处理事件PageIndexChanging

 Be_The_Change 2013-08-15

GridView激发了未处理事件PageIndexChanging

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

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

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


堆栈跟踪:
[HttpException (0x80004005): GridView“GridView1”激发了未处理的事件“PageIndexChanging”。] System.Web.UI.WebControls.GridView.OnPageIndexChanging(GridViewPageEventArgs e) +1495955 System.Web.UI.WebControls.GridView.HandlePage(Int32 newPage) +83 System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +467 System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +199 System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +177 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746


“/”应用程序中的服务器错误。 GridView“GridView1”激发了未处理的事件“PageIndexChanging”。
版本信息: Microsoft .NET Framework 版本:2.0.50727.1433; ASP.NET 版本:2.0.50727.1433


今天在处理GridView分页问题时遇到了一个比较常见的分页出错问题。
由于绑定GridView数据源时是在.CS文件里用代码进行绑定,所以当在.ASPX文件里对GridView属性设置AllowPaging为True时,直接进行分页调试时却报错“"GridView1"激发了未处理的事件"PageIndexChanging"”,之前直接在可视化绑定数据源时没出现过这种问题。并且打开了之前的直接可视化绑定数据源并且分页调试正常的文件来查找,并没有发现PageIndexChanging这个函数事件。
以下为GridView“GridView1”激发了未处理的事件“PageIndexChanging”的解决办法

方法一
GridView控件=》属性=》点击事件=》双击“PageIndexChanging”事件=》在cs文件中添加下面代码:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}

方法二
一、在控件girdview的代码(在.ASPX文件的源文件里)后面加上
程序代码
onpageindexchanging="GridView1_PageIndexChanging
二、在对应的.CS文件里插入以下代码:
程序代码
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}


这是一个GridView控件分页问题,如果是使用的VS中自身提供的数据源控件的话,没什么问题,直接可以选择"分页"功能,可是如果自己用代码设置数据源时就易出现这样的错误-------GridView“GridView1”激发了未处理的事件“PageIndexChanging”.

解决方法是:给GridView控件添加一个事件PageIndexChanging,并设置GridView的属性:AllowPaging="True"

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.datasource="数据源"; //引用刚才建立的数据源 
GridView1.DataBind();
//在第一次建立数据库连接时建立一个Session,然后GridView控件=》属性=》点击事件=》双击“PageIndexChanging”事件=》在cs文件中读取Session添加下面代码:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.datasource="数据源"; //引用刚才建立的数据源
GridView1.DataBind();
}

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多