<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing="0" width="100%" bgColor="#ff9966" border="1"> <TR> <td align="right"><asp:linkbutton id="btnFirst" runat="server" CommandArgument="fist">首页</asp:linkbutton> <asp:linkbutton id="btnPrev" runat="server" Width="52px" CommandArgument="prev">上一页</asp:linkbutton> <asp:linkbutton id="btnNext" runat="server" CommandArgument="next">下一页</asp:linkbutton> <asp:linkbutton id="btnLast" runat="server" CommandArgument="last">末页</asp:linkbutton> <asp:label id="lblCurrentIndex" runat="server"></asp:label>/<asp:label id="lblPageCount" runat="server"></asp:label> 跳转到<asp:TextBox id="txtGoPage" runat="server" Width="30px" CssClass="textbox"></asp:TextBox> <asp:Button id="btnGo" runat="server" Text="GO" CssClass="button" Width="29px"></asp:Button></td> </TR> </TABLE> Private Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs) '获得LinkButton的参数值 Dim arg As [String] = CType(sender, LinkButton).CommandArgument Select Case arg Case "next" If DataGrid2.CurrentPageIndex < DataGrid2.PageCount - 1 Then DataGrid2.CurrentPageIndex += 1 End If Case "prev" If DataGrid2.CurrentPageIndex > 0 Then DataGrid2.CurrentPageIndex -= 1 End If Case "fist" DataGrid2.CurrentPageIndex = 0 Case "last" DataGrid2.CurrentPageIndex = DataGrid2.PageCount - 1 Case Else '本页值 DataGrid2.CurrentPageIndex = Convert.ToInt32(arg) End Select DataGrid2.DataBind() End Sub 'PagerButtonClick Sub ShowStatsPage() '显示页面信息 lblCurrentIndex.Text = "[<font color="">当前为第:" + (CInt(DataGrid2.CurrentPageIndex) + 1) + "页</font>]" lblPageCount.Text = "[<font color="">共:" + DataGrid2.PageCount + "页</font>]" End Sub 'ShowStatsPage Private Sub DataGrid2_PageIndexChanged(ByVal [source] As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) '处理按下数字的方法 DataGrid2.CurrentPageIndex = e.NewPageIndex DataGrid2.DataBind() End Sub 'DataGrid2_PageIndexChanged Private Sub btnGo_Click(ByVal sender As Object, ByVal e As System.EventArgs) '页面直接跳转的代码 If txtGoPage.Text.Trim() <> "" Then Dim PageI As Integer = Int32.Parse(txtGoPage.Text.Trim()) - 1 If PageI >= 0 And PageI < DataGrid2.PageCount Then DataGrid2.CurrentPageIndex = PageI End If End If DataGrid2.DataBind() End Sub 'btnGo_Click
你可以用DG自带的分页技术,这也是最直接的方法
你可以将分页条件写在SQL语句的存储过程里,这个方法实现相对安全与快速
还有很多别的
border="1">
<TR>
<td align="right"><asp:linkbutton id="btnFirst" runat="server" CommandArgument="fist">首页</asp:linkbutton>
<asp:linkbutton id="btnPrev" runat="server" Width="52px" CommandArgument="prev">上一页</asp:linkbutton>
<asp:linkbutton id="btnNext" runat="server" CommandArgument="next">下一页</asp:linkbutton>
<asp:linkbutton id="btnLast" runat="server" CommandArgument="last">末页</asp:linkbutton>
<asp:label id="lblCurrentIndex" runat="server"></asp:label>/<asp:label id="lblPageCount" runat="server"></asp:label>
跳转到<asp:TextBox id="txtGoPage" runat="server" Width="30px" CssClass="textbox"></asp:TextBox>
<asp:Button id="btnGo" runat="server" Text="GO" CssClass="button" Width="29px"></asp:Button></td>
</TR>
</TABLE> Private Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
'获得LinkButton的参数值
Dim arg As [String] = CType(sender, LinkButton).CommandArgument Select Case arg
Case "next"
If DataGrid2.CurrentPageIndex < DataGrid2.PageCount - 1 Then
DataGrid2.CurrentPageIndex += 1
End If
Case "prev"
If DataGrid2.CurrentPageIndex > 0 Then
DataGrid2.CurrentPageIndex -= 1
End If
Case "fist"
DataGrid2.CurrentPageIndex = 0
Case "last"
DataGrid2.CurrentPageIndex = DataGrid2.PageCount - 1
Case Else
'本页值
DataGrid2.CurrentPageIndex = Convert.ToInt32(arg)
End Select
DataGrid2.DataBind()
End Sub 'PagerButtonClick Sub ShowStatsPage()
'显示页面信息
lblCurrentIndex.Text = "[<font color="">当前为第:" + (CInt(DataGrid2.CurrentPageIndex) + 1) + "页</font>]"
lblPageCount.Text = "[<font color="">共:" + DataGrid2.PageCount + "页</font>]"
End Sub 'ShowStatsPage Private Sub DataGrid2_PageIndexChanged(ByVal [source] As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs)
'处理按下数字的方法
DataGrid2.CurrentPageIndex = e.NewPageIndex
DataGrid2.DataBind()
End Sub 'DataGrid2_PageIndexChanged
Private Sub btnGo_Click(ByVal sender As Object, ByVal e As System.EventArgs)
'页面直接跳转的代码
If txtGoPage.Text.Trim() <> "" Then
Dim PageI As Integer = Int32.Parse(txtGoPage.Text.Trim()) - 1
If PageI >= 0 And PageI < DataGrid2.PageCount Then
DataGrid2.CurrentPageIndex = PageI
End If
End If
DataGrid2.DataBind()
End Sub 'btnGo_Click