Datagridview分页永远不会触发

时间:2012-02-08 08:54:35

标签: asp.net asp.net-mvc datagridview paging

我知道这个问题可能很愚蠢,但我一直在寻找2个小时但没有结果 我有一个带分页的数据网格视图,当我选择第2页或任何它永远不会工作的东西时,回到第1页这里是代码

<asp:DataGrid ID="gvRatings" runat="server" AllowPaging="true" PageSize="20"
PagerStyle-Mode="NumericPages" OnPageIndexChanged="gvRatings_PageIndexChanged" >
<PagerStyle HorizontalAlign="right" CssClass="Normal"/>
<Columns>
    <asp:TemplateColumn >
        <ItemTemplate>
            <asp:HyperLink ID="lnkListingName" runat="server"></asp:HyperLink>
        </ItemTemplate>
    </asp:TemplateColumn>
</Columns>

这是页面加载

 protected void Page_Load(object sender, EventArgs e)
    {
            BindRatingsDG();
            BindRatingsStatsDG();
    }

这是分页事件,

protected void gvRatings_PageIndexChanged(object sender, DataGridPageChangedEventArgs e)
    {
        //Set grid view page index with the new page index selected
        gvRatings.CurrentPageIndex = e.NewPageIndex;
        gvRatings.DataBind();
        BindRatingsDG();
    }

在调试箭头命中加载和绑定功能但从未点击分页功能? 我究竟做错了什么 ? thnx提前帮助

2 个答案:

答案 0 :(得分:1)

您应该检查PageLoad中的Page.IsPostBack标志。

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        BindRatingsDG();
        BindRatingsStatsDG();
    }
}

答案 1 :(得分:0)

在您点击的寻呼机链接的每个回发中,您的GridView都会被绑定。

您应该修改您的页面加载功能,如下所示

protected void Page_Load(object sender,EventArgs e)

{
     if(!Page.IsPostBack)
      {
        BindRatingsDG();
        BindRatingsStatsDG();
      }
}