хорошо, я немного заржавел, но я надеюсь, что следующее приведет вас по правильному пути.
Возьмем следующую разметку в качестве примера ...
<asp:UpdatePanel runat="server" ID="updatePane1">
<ContentTemplate>
<asp:GridView ID="contactGrid" runat="server" EmptyDataText="No Contacts Found" BorderStyle = "Double" AllowSorting = "true" AlternatingRowStyle-BackColor="Beige"
EnableViewState="true" AutoGenerateColumns="False" HeaderStyle-Height = "20" RowStyle-Height = "60" AllowPaging ="true" >
<Columns>
<asp:TemplateField HeaderText="Case Queue" HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="Black">
<ItemStyle HorizontalAlign="Center" CssClass = "GridInfo"/>
<ItemTemplate >
<div class="contact">Name:<%# Eval("ContactName") %></div>
<div class="phone">Phone:<%# Eval("PhoneNumber") %></div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Timer ID="Timer1" runat="server" Interval="30000" OnTick="Timer_Tick"> </asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
В вашем событии загрузки сделайте что-то вроде этого (примечание: вам нужно установить / объявить этот объект «data»):
contactGrid.DataSource = data;
contactGrid.DataBind();
В событии PageIndexChanging сделать что-то вроде этого:
contactGrid.PageIndex = e.NewPageIndex;