自定义分页:
<table align="center" width="95%">
<tr>
<td align="center">
<asp:DataGrid id="DataGrid1" runat="server" Width="100%" Height="296px" AllowPaging="True" PageSize="5">
<PagerStyle Visible="False" PageButtonCount="5"></PagerStyle>
</asp:DataGrid>
</td>
</tr>
<tr>
<td align="center">
<asp:LinkButton ID="first0" OnClick="PageIndexChanged" CommandArgument="first" Text="
第一页
" Runat="server" />
<asp:LinkButton ID="first1" OnClick="PageIndexChanged" CommandArgument="prev" Text="
上一页
" Runat="server" />
<asp:LinkButton ID="first2" OnClick="PageIndexChanged" CommandArgument="next" Text="
下一页
" Runat="server" />
<asp:LinkButton ID="first3" OnClick="PageIndexChanged" CommandArgument="last" Text="
最后一页
" Runat="server" />
<asp:TextBox id="TextBox1" runat="server" AutoPostBack="True"></asp:TextBox>
<asp:Label id="Label1" runat="server">
跳转
</asp:Label>
<asp:RangeValidator id="RangeValidator1" runat="server" ErrorMessage="
超出范围
" MinimumValue="1" MaximumValue="2" Type="Integer" ControlToValidate="TextBox1">
</asp:RangeValidator>
</td>
</tr>
</table>
protected
void PageIndexChanged(object sender,System.EventArgs e)
{
string args=( (LinkButton)sender).CommandArgument;
switch(args)
{
case "first":
DataGrid1.CurrentPageIndex=0;
break;
case "prev":
DataGrid1.CurrentPageIndex=(DataGrid1.CurrentPageIndex-1+DataGrid1.PageCount)%DataGrid1.PageCount;
break;
case "next":
DataGrid1.CurrentPageIndex=(DataGrid1.CurrentPageIndex+1+DataGrid1.PageCount)%DataGrid1.PageCount;
break;
case "last":
DataGrid1.CurrentPageIndex=DataGrid1.PageCount-1;
break;
}
BindData();
}
private void TextBox1_TextChanged(object sender, System.EventArgs e)
{
DataGrid1.CurrentPageIndex=int.Parse(TextBox1.Text);
BindData();
}