One can simply use updatepanel with gridview. And set AllowPaging = "True" and Pagize="5"
Then you can use bootstrap CSS to beautify the code. Please check the following code.
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Font-Size="Medium" cssclass ="table table-striped table-bordered table-hover"
AllowPaging="True" Pagesize="10" OnPageIndexChanging="OnPageIndexChanging" onrowdatabound="GridView1_RowDataBound" ShowFooter="true" >
<Columns>
<asp:TemplateField HeaderText ="No.">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="GPCODE" HeaderText="Group Code" SortExpression="GPCODE" ItemStyle-CssClass="forHighlight">
</asp:BoundField>
<asp:BoundField DataField="GPDESC" HeaderText="Description" SortExpression="GPDESC" ItemStyle-CssClass="forHighlight">
</asp:BoundField>
<asp:TemplateField HeaderText="Edit" >
<ItemTemplate>
<asp:HyperLink runat="server" NavigateUrl='<%# Eval("GPCODE", "~/ICForms/frmFM01det.aspx?CODE={0}") %>'>Edit</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle CssClass="pagination-ys" />
<PagerSettings mode="NumericFirstLast" FirstPageText="First" LastPageText="Last"
NextPageText="Next" PreviousPageText="Previous" PageButtonCount="10" Position="Bottom"/>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>