[学习]Datalist 查询结果分页、Aspnetpager、非存储过程

 <asp:TextBox ID="keywords" runat="server"></asp:TextBox>
    
<asp:Button ID="Button1"   runat="server" Text="Search" />
        
<asp:DataList ID="DataList1" runat="server"  RepeatDirection="Horizontal" RepeatColumns="2" Width="100%" DataKeyField="N_NewsID" >
        
<ItemStyle Width="50%"/>
<ItemTemplate>
    N_NewsID:
    
<asp:Label ID="N_NewsIDLabel" runat="server" Text='<%# Eval("N_NewsID") %>'></asp:Label><br />
    N_NewsTitle:
    
<asp:Label ID="N_NewsTitleLabel" runat="server" Text='<%# Eval("N_NewsTitle") %>'>
    </asp:Label><br />
    N_NewsOrder:
    
<asp:Label ID="N_NewsOrderLabel" runat="server" Text='<%# Eval("N_NewsOrder") %>'>
    </asp:Label><br />
    N_Datetime:
    
<asp:Label ID="N_DatetimeLabel" runat="server" Text='<%# Eval("N_Datetime") %>'>
    </asp:Label><br />
    
<br />
</ItemTemplate>
        
</asp:DataList> 
    
<webdiyer:aspnetpager   PageSize="2" id="AspNetPager1" runat="server" OnPageChanging="AspNetPager1_PageChanging" onpagechanged="AspNetPager1_PageChanged"
        showcustominfosection
="Right"  width="100%" CustomInfoHTML="总记录%RecordCount%条,第%CurrentPageIndex%页,共%PageCount%页,每页显示%PageSize%条" PageIndexBoxStyle="width:19px"></webdiyer:aspnetpager>


VB.Net

Imports System
Imports System.Configuration
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.UI
Imports Wuqi.Webdiyer


Partial Class CustomInfoSection_DefaultVB
    
Inherits System.Web.UI.Page
    
Dim conn As SqlClient.SqlConnection
    
Dim sql As String
    
Dim cmd As SqlCommand
    
Dim key As String = ""
    
Dim N_NewsPromote As String = 0



    
Protected Sub Page_Load(ByVal sender As ObjectByVal e As EventArgs)
        
If Not IsPostBack Then

            conn 
= New SqlConnection(ConfigurationManager.ConnectionStrings("gameDBConnectionString").ConnectionString)
            conn.Open()
 
            key 
= Request.QueryString("key")
            N_NewsPromote 
= Request.QueryString("N_NewsPromote")
            
If N_NewsPromote = "" Then N_NewsPromote = 0

            
If String.IsNullOrEmpty(key) Then

                sql 
= "Select Count(N_NewsID) as maxCount From NewsTable Where  [N_NewsPromote]=" + N_NewsPromote + " "

            
Else

                sql 
= "Select Count(N_NewsID) as maxCount From NewsTable Where [N_NewsTitle] like '%" + key + "%' and [N_NewsPromote]=" + N_NewsPromote + ""

            
End If

            Response.Write(sql 
+ "<br>")

            
'' Response.End()

            cmd 
= New SqlCommand(sql, conn)
            AspNetPager1.RecordCount 
= cmd.ExecuteScalar




            bindData()

            conn.Close()
 
        
End If
    
End Sub


    
Private Sub bindData()
        
Me.Msg.Text = "初始值:" + Me.AspNetPager1.StartRecordIndex.ToString + "--结束值:" + Me.AspNetPager1.EndRecordIndex.ToString

        
Dim ds As New DataSet
        key 
= Request.QueryString("key")
        N_NewsPromote 
= Request.QueryString("N_NewsPromote")
        
If N_NewsPromote = "" Then N_NewsPromote = 0




        
Dim startRecord As Integer = (Me.AspNetPager1.CurrentPageIndex - 1* Me.AspNetPager1.PageSize
        
Dim maxRecord As Integer = Me.AspNetPager1.PageSize

        sql 
= "Select * From NewsTable Where [N_NewsTitle] like '%" + key + "%' and [N_NewsPromote]=" + N_NewsPromote + " order By  N_NewsID desc"
        Response.Write(sql 
+ "<br>")

        
Dim myAdapter As SqlDataAdapter = New SqlDataAdapter(sql, conn)

        myAdapter.Fill(ds, startRecord, maxRecord, 
"NewsTable")  '' 用这样子填充非常的重要 不用一下子把记录全部填到 DS 里 2008-07-11 

        
Me.DataList1.DataSource = ds.Tables(0).DefaultView
        DataList1.DataBind()


        Response.Write(
"<br><font color='#ff0000'>" + Request.QueryString("abc"+ "</font><br>")

    
End Sub


    
Protected Sub AspNetPager1_PageChanged(ByVal src As ObjectByVal e As EventArgs)

        conn 
= New SqlConnection(ConfigurationManager.ConnectionStrings("gameDBConnectionString").ConnectionString)
        conn.Open()

        bindData()

        conn.Close()
    
End Sub


    
Protected Sub AspNetPager1_PageChanging(ByVal sender As ObjectByVal e As Wuqi.Webdiyer.PageChangingEventArgs)


    
End Sub



    
Protected Sub Button1_Click(ByVal sender As ObjectByVal e As System.EventArgs) Handles Button1.Click

        Response.Redirect(
"defaultvb.aspx?key=" + Me.keywords.Text.Trim + "&N_NewsPromote=0&abc=获得Url上的另一个参数")

    
End Sub

End Class

posted @ 2008-07-11 15:24  布袋  阅读(897)  评论(1)    收藏  举报