Datagridview пейджинг никогда не срабатывает - PullRequest
0 голосов
/ 08 февраля 2012

я знаю, что вопрос может быть глупым, но я искал 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();
    }

при отладке стрелка попадает в функцию загрузки и связывания, но никогда не попадает в функцию подкачки ??Что я делаю неправильно ?Заранее спасибо за помощь

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Вы должны проверить флаг Page.IsPostBack в PageLoad.

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        BindRatingsDG();
        BindRatingsStatsDG();
    }
}
0 голосов
/ 08 февраля 2012

Ваш GridView привязывается к каждой обратной передаче пейджерной ссылки, по которой вы щелкаете.

Вам следует изменить функцию загрузки страницы, как показано ниже

защищенный void Page_Load (отправитель объекта, EventArgs e)

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