2015-11-09 2 views
0

Я разместил два вида сетки внутри панели обновления. Оба они позволяют пейджингу отображать данные.Пейджинг не работает внутри сетчатой ​​панели обновления сотового экрана

Мой код .aspx страницы:

<asp:UpdatePanel ID="upMaster" runat="server" > 
    <ContentTemplate> 
     <div class="TeamBox"> 
      <asp:GridView ID="MangersGrid" GridLines="None" AutoGenerateColumns="false" AllowPaging="true" PageSize="10" runat="server" OnPageIndexChanging="MangersGrid_PageIndexChanging"> 
       <Columns> 
        <asp:BoundField DataField="Name" HeaderText="Team Managers" /> 
       </Columns> 
      </asp:GridView> 
     </div> 

     <div class="TeamBox"> 
      <asp:GridView ID="MembersGrid" AllowPaging="true" GridLines="None" AutoGenerateColumns="false" runat="server" PageSize="10" OnPageIndexChanging="MembersGrid_PageIndexChanging"> 
       <Columns> 
        <asp:BoundField DataField="Name" HeaderText="Team Members" /> 
       </Columns> 
      </asp:GridView> 
     </div> 
    </ContentTemplate> 
</asp:UpdatePanel> 

Мой код .cs является:

protected void Page_Load(object sender, EventArgs e) { 
    DoProcess(); 
} 
void DoProcess() { 
    // logic to get data table records one for each. 
    MangersGrid.DataSource = dtManagers; 
    MangersGrid.DataBind(); 
    MembersGrid.DataSource = dtNativeMembers; 
    MembersGrid.DataBind(); 
    upMaster.Update(); 
} 
void MangersGrid_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e) 
{ 
    MangersGrid.PageIndex = e.NewPageIndex; 
    DoProcess(); 
} 
// Members Gridview page index change event 
void MembersGrid_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e) 
{ 
    MembersGrid.PageIndex = e.NewPageIndex; 
    DoProcess(); 
} 

управления На странице показано количество страниц, но это делает только первую страницу. Если я нажимаю на следующую страницу, это ничего не делает.

Что мне не хватает?

+0

Что произойдет, если вы вызываете DoProcess() перед назначением индекса страницы MembersGrid.PageIndex = e.NewPageIndex; – Bayeni

+0

Изменена последовательность кода в 'PageIndexChanging' i.e. Сначала вызывается DoProcess(). Он выдает сообщение об ошибке «Sys.WebForms.PageRequestManagerParserErrorException: сообщение, полученное с сервера, невозможно разобрать». когда я нажимаю на следующую страницу. @Bayeni –

+1

Wrap 'DoProcess()' вызывается под 'Page_Load' внутри'! IsPostBack'. – Prabhat

ответ

0
void DoProcess() { 
    MangersGrid.DataSource = dtManagers; 
    MangersGrid.DataBind(); 
    MembersGrid.DataSource = dtNativeMembers; 
    MembersGrid.DataBind(); 
    //upMaster.Update(); <-- remove this line 
} 

Попробуйте это.

+0

Убрали линию, но не повезло. :-( –

Смежные вопросы