<asp:GridView ID="GridView1" runat="server" AllowPaging="True" ...... > <Columns> <asp:BoundField DataField="Name" HeaderText="姓名" SortExpression="Name" /> <asp:BoundField DataField="OrgID" HeaderText="單位編號" SortExpression="OrgID" /> ............. </Columns> <PagerTemplate> <div style="text-align:center;"> <asp:LinkButton ID="btnFirstPage" runat="server" CommandArgument="First" CommandName="Page" Text="First" Visible='<%# (Container.NamingContainer as GridView).PageIndex > 0 %>' /> <asp:LinkButton ID="btnPrevPage" runat="server" CommandArgument="Prev" CommandName="Page" Text="Pre" Visible='<%# (Container.NamingContainer as GridView).PageIndex > 0 %>' /> <asp:LinkButton ID="btnP4" runat="server" Visible='<%# (Container.NamingContainer as GridView).PageIndex-3 > 0 %>' CommandArgument='<%# (Container.NamingContainer as GridView).PageIndex-3 %>' CommandName="Page" Text='<%# (Container.NamingContainer as GridView).PageIndex-3 %>' /> <asp:LinkButton ID="btnP3" runat="server" Visible='<%# (Container.NamingContainer as GridView).PageIndex-2 > 0 %>' CommandArgument='<%# (Container.NamingContainer as GridView).PageIndex-2 %>' CommandName="Page" Text='<%# (Container.NamingContainer as GridView).PageIndex-2 %>' /> <asp:LinkButton ID="btnP2" runat="server" Visible='<%# (Container.NamingContainer as GridView).PageIndex-1 > 0 %>' CommandArgument='<%# (Container.NamingContainer as GridView).PageIndex-1 %>' CommandName="Page" Text='<%# (Container.NamingContainer as GridView).PageIndex-1 %>' /> <asp:LinkButton ID="btnP1" runat="server" Visible='<%# (Container.NamingContainer as GridView).PageIndex > 0 %>' CommandArgument='<%# (Container.NamingContainer as GridView).PageIndex %>' CommandName="Page" Text='<%# (Container.NamingContainer as GridView).PageIndex %>' /> <asp:LinkButton ID="btnCurrent" runat="server" Enabled="false" CommandArgument='<%# (Container.NamingContainer as GridView).PageIndex %>' CommandName="Page" Text='<%# (Container.NamingContainer as GridView).PageIndex+1 %>' /> <asp:LinkButton ID="btnN1" runat="server" Visible='<%# (Container.NamingContainer as GridView).PageIndex+1 < (Container.NamingContainer as GridView).PageCount %>' CommandArgument='<%# (Container.NamingContainer as GridView).PageIndex+2 %>' CommandName="Page" Text='<%# (Container.NamingContainer as GridView).PageIndex+2 %>' /> <asp:LinkButton ID="btnN2" runat="server" Visible='<%# (Container.NamingContainer as GridView).PageIndex+2 < (Container.NamingContainer as GridView).PageCount %>' CommandArgument='<%# (Container.NamingContainer as GridView).PageIndex+3 %>' CommandName="Page" Text='<%# (Container.NamingContainer as GridView).PageIndex+3 %>' /> <asp:LinkButton ID="btnN3" runat="server" Visible='<%# (Container.NamingContainer as GridView).PageIndex+3 < (Container.NamingContainer as GridView).PageCount %>' CommandArgument='<%# (Container.NamingContainer as GridView).PageIndex+4 %>' CommandName="Page" Text='<%# (Container.NamingContainer as GridView).PageIndex+4 %>' /> <asp:LinkButton ID="btnN4" runat="server" Visible='<%# (Container.NamingContainer as GridView).PageIndex+4 < (Container.NamingContainer as GridView).PageCount %>' CommandArgument='<%# (Container.NamingContainer as GridView).PageIndex+5 %>' CommandName="Page" Text='<%# (Container.NamingContainer as GridView).PageIndex+5 %>' /> <asp:LinkButton ID="btnNextPage" runat="server" CommandArgument="Next" CommandName="Page" Text="Next" Visible='<%# (Container.NamingContainer as GridView).PageIndex+1 < (Container.NamingContainer as GridView).PageCount %>' /> <asp:LinkButton ID="btnLastPage" runat="server" CommandArgument="Last" CommandName="Page" Text="Last" Visible='<%# (Container.NamingContainer as GridView).PageIndex+1 < (Container.NamingContainer as GridView).PageCount %>' /> ,共<%# (Container.NamingContainer as GridView).PageCount %>頁, 到第<asp:TextBox ID="tbPageIndex" runat="server" Text='<%# (Container.NamingContainer as GridView).PageIndex+1 %>' Columns="3" /> <asp:LinkButton ID="btnGotoPage" runat="server" Text="Go" OnClick="GotoPage_Click" OnClientClick="__doPostBack($(this).attr('id').split('_').join('$'),$(this).parent().find('input:text').val());return false;" /> </div> </PagerTemplate> </asp:GridView>
protected void GotoPage_Click(object sender, EventArgs e) { GridView gv = (sender as LinkButton).NamingContainer.NamingContainer as GridView; try { // __doPostBack 參數 int p = int.Parse(Request.Form["__EVENTARGUMENT"]); if (p < 1 || p > gv.PageCount) { ClientScript.RegisterClientScriptBlock( GetType(), "f", "alert('錯誤頁碼!');", true ); } else { gv.PageIndex = p - 1; gv.DataBind(); } } catch { ClientScript.RegisterClientScriptBlock( GetType(), "f", "alert('錯誤頁碼!');", true ); } }