■■aspnetpager分页控件如何实现搜索后分页呢?

解决方案 »

  1.   

    晕了,把你的sql语句改一下不就是可以了嘛。
    其它的没有区别。
      

  2.   

    vb.net,其实区别不大,就是那二句sqlDim dsn As String = "provider=microsoft.jet.oledb.4.0;data source=" & Server.mappath("../" & System.Configuration.ConfigurationSettings.AppSettings("connstring"))    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        If Not IsPostBack Then
                Call check_url()
                Dim conn As OleDbConnection = New OleDbConnection(dsn)
                Try
                    conn.Open()
                Catch ex As Exception
                    Page.RegisterClientScriptBlock("0", "<script>alert('" & ex.Message.ToString & "')</script>")
                    Exit Sub
                End Try            Dim strsql As String = "select count(id) from products_ where s_catalog_id=" & Request.QueryString("id")
                Dim cmd As OleDbCommand = New OleDbCommand(strsql, conn)
                Try
                    pager.RecordCount = cmd.ExecuteScalar
                Catch ex As Exception
                    Page.RegisterClientScriptBlock("1", "<script>alert('" & ex.Message.ToString & "')</script>")
                    cmd.Dispose()
                    conn.Dispose()
                End Try            cmd.Dispose()
                conn.Dispose()
                binddata()        End If
        End Sub
        Function check_url() As Boolean
            'http://localhost/website/poma/framework/details.aspx?id=3
            Dim url As String = Request.Url.ToString
            If url.IndexOf("'") = -1 Then            If Request.QueryString("id") <> "" And IsNumeric(Request.QueryString("id")) Then                Return True
                    Exit Function            Else
                    Return False
                    Exit Function            End If        Else
                Return False
                Exit Function
            End If
        End Function
        Sub binddata()        Dim conn As OleDbConnection = New OleDbConnection(dsn)
            Dim strsql As String = "select * from products_ where s_catalog_id=" & System.Convert.ToInt32(Request.QueryString("id"))
            Dim cmd As OleDbCommand = New OleDbCommand(strsql, conn)
            Dim adapter As OleDbDataAdapter = New OleDbDataAdapter(cmd)
            Dim ds As New DataSet
            adapter.Fill(ds, pager.PageSize * (pager.CurrentPageIndex - 1), pager.PageSize, "products_")
            Repeater1.DataSource = ds.Tables("products_")
            Repeater1.DataBind()        Select Case Session("lang")
                Case "chs"
                    pager.CustomInfoText = "产品总数:" & pager.RecordCount.ToString() & "&nbsp;&nbsp;"
                    pager.CustomInfoText += " 总页数:" & pager.PageCount.ToString() & "&nbsp;&nbsp;"
                    pager.CustomInfoText += " 当前页:" & pager.CurrentPageIndex.ToString()
                Case Else
                    pager.CustomInfoText = "Totals:" & pager.RecordCount.ToString()
                    pager.CustomInfoText += " Totals Pages:" & pager.PageCount.ToString()
                    pager.CustomInfoText += " Current Page:" & pager.CurrentPageIndex.ToString()
                    pager.FirstPageText = "first"
                    pager.LastPageText = "last"
                    pager.PrevPageText = "prve"
                    pager.NextPageText = "next"
            End Select
        End Sub    Function Html(ByVal id As String)
            id = id.Trim()
            id = id.Replace("'", "")
            id = id.Replace("""", "")
            Html = id.Replace("%", "")
        End Function    Private Sub pager_PageChanged(ByVal src As Object, ByVal e As Wuqi.Webdiyer.PageChangedEventArgs) Handles pager.PageChanged
            pager.CurrentPageIndex = e.NewPageIndex
            binddata()
        End Sub