ASP.net Gridview Paging не работает внутри UpdatePanel - PullRequest
6 голосов
/ 26 января 2011

Хотя вопросы, как-то похожие на это, задавались несколько раз, но вопрос до сих пор не решен. Вот вопрос: У меня есть GridView, который содержится в контейнере с вкладками AJAX, который находится внутри UpdatePanel. Gridview работает отлично, и соответствующие методы запускаются точно, но когда я включаю paging (например) после того, как нажму на страницу 2, GridView скрывается. вот мой метод PageIndexChanging () :

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;        
    GridView1.DataBind();
    UpdatePanel2.Update();        
}

Почему подкачка страниц GridView перестает работать правильно? Что я могу сделать?

Ответы [ 4 ]

6 голосов
/ 05 февраля 2011

Решение состоит в том, что вы должны пополнять набор данных, который используется для заполнения сетки, каждый раз, когда изменяется индекс вашей страницы.Таким образом, вы можете быть уверены, что в каждом отдельном постбэке, который был вызван номером страницы сетки, будут заполняться результаты.

4 голосов
/ 24 октября 2012

Я только что попробовал этот код выше.У меня была та же проблема, и теперь она работает просто отлично.

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    GridView1.PageIndex = e.NewPageIndex;         
    GridView1.DataBind(); 
    //  UpdatePanel2.Update();   <-- Remove this line from your code.
} 

У меня есть GridView внутри панели обновления.Вы также записали свое событие PageIndexChanging в свой файл .aspx?

Надеюсь, это поможет.

3 голосов
/ 26 января 2011

Дальнейшие исследования:

http://msdn.microsoft.com/en-us/library/cc295545.aspx

Элементы управления, несовместимые с элементами управления UpdatePanel

Следующие элементы управления ASP.NETнесовместимы с частичными обновлениями страниц и поэтому не предназначены для работы внутри элемента управления UpdatePanel:

  • Элементы управления GridView и DetailsView, если для их свойства EnableSortingAndPagingCallbacks установлено значение true.По умолчанию установлено значение false.
0 голосов
/ 12 февраля 2013

Для этого вам необходимо переустановить источник данных в событии изменения индекса страницы.Производительность будет ниже, но так вы можете заставить ее работать.

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.DataSource = ;//Set again the datasource
    GridView1.PageIndex = e.NewPageIndex;
    GridView1.DataBind();
    UpdatePanel2.Update();
}
...