【问题标题】:Gridview PageIndexChanging not FiringGridview PageIndexChanging 未触发
【发布时间】:2013-01-13 11:40:14
【问题描述】:

我正在为PageIndexChanging event 中的GridView 编写自己的事件处理程序,我没有为我的GridView 显式设置DataSourceID,这是我的代码:

GridView 数据绑定代码:

protected void DetailsView_DataBound (object sender, EventArgs e ) 
{
    Customer cust = (Customer)DetailsView.DataItem;
    this.GridView.DataSource = cust.Orders;
    this.GridView.DataBind();
}

当数据与DetailsView 绑定时,这部分代码允许我在GridView 中显示订单详细信息。然后我写了我自己的GridView_PageIndexChanging event handler 并且不适合我:

protected void GridView_PageIndexChanging(object sender, EventArgs e)
{
    GridView.PageIndex = e.NewPageIndex();
    GridView.DataBind();
}

如果我单击下一个页码,该网站将不显示任何内容。但是如果我将GridView.DataBind() 更改为DataBind() 分页就可以了。

有人知道为什么第二种Databind 方法有效吗?原因是什么?

【问题讨论】:

    标签: c# gridview data-binding page-index-changed


    【解决方案1】:

    第二个数据绑定是DataBind(Page.DataBind),它引用当前页面绑定所有页面控件及其子控件。

    【讨论】:

    • 这是让我感到困惑的部分。我正在用我的 GridView 绑定数据,为什么要调用 Page.DataBind() 方法来进行数据绑定工作。
    【解决方案2】:

    你是否设置了gridview的allowPaging="True"。如果不是,则将其设置为 true。

    【讨论】:

    • 是的,我做到了。我设置了 AllowPaging="ture" 和 onpageindexchang="GridView_PageIndexChanging"。在我的情况下,我只需要将 GridView.DataBind() 方法更改为 DataBind() 方法即可使我的分页代码正常工作。
    猜你喜欢
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多