分页

--前台界面

<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <table>
    <tr><td> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" 
            onclick="Button1_Click"  /></td></tr>
           <tr><td> <div id="divResult" runat="server"></div></td></tr>
         
             <tr>
               <td>
                <asp:LinkButton ID="BtnFirst" runat="server" onclick="BtnFirst_Click">第一页</asp:LinkButton>
                <asp:LinkButton ID="BtnPre" runat="server" onclick="BtnPre_Click">上一页</asp:LinkButton>
                <asp:LinkButton ID="BtnNext" runat="server" onclick="BtnNext_Click">下一页</asp:LinkButton>
                <asp:LinkButton ID="BtnLast" runat="server" onclick="BtnLast_Click">最后一页</asp:LinkButton>
            </td>
            </tr>             
             </table>
       </div>
    </form>
</body>
</html>

-------------后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Text;


namespace 新闻管理系统
{
    public partial class 分页练习 : System.Web.UI.Page
    {
        int pagesize = 3;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ViewState["pageindex"] = 1;
                
                GetCount();
                DateBind();
            }
        }


        private void GetCount()
        {
            string strcon = "data source=LOVE-PC\\SQLEXPRESSPC;initial catalog=News;user id=sa;password=admin";
            SqlConnection conn = new SqlConnection(strcon);
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "SELECT COUNT(*) FROM T_News WHERE NewsTitle LIKE @newskey OR NewsContent LIKE @newskey";
            cmd.Parameters.AddWithValue("@newskey", "%" +TextBox1.Text + "%");
            conn.Open();
            int totalcount = Convert.ToInt32(cmd.ExecuteScalar());
            if (totalcount % pagesize == 0)
            {
                ViewState["pagelastindex"] = totalcount / pagesize;
            }
            else
            {
                ViewState["pagelastindex"] = totalcount / pagesize + 1;
            }
        }
  
        private void DateBind()
        {
            string connstr = "data source=LOVE-PC\\SQLEXPRESSPC;initial catalog=News;user id=sa;password=admin";
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "SELECT TOP(@pagesize) * FROM T_News WHERE(NewsTitle LIKE @newskey OR NewsContent LIKE @newskey) AND Id NOT IN(SELECT TOP ((@pageindex-1)*@pagesize) Id FROM T_News WHERE NewsTitle LIKE @newskey OR NewsContent LIKE @newskey ORDER BY Id )ORDER BY Id";




                    /*参数替换方法1*/
                    cmd.Parameters.AddWithValue("@pageindex",Convert.ToInt32(ViewState["pageindex"]));
                    cmd.Parameters.AddWithValue("@pagesize",pagesize);
                    cmd.Parameters.AddWithValue("@newskey", "%" + TextBox1.Text + "%");


                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    adapter.Fill(dt);
                    cmd.Dispose();
                    conn.Dispose();
                   




                    StringBuilder sb1 = new StringBuilder();
                    sb1.Append("<table border=2>");
                    sb1.Append("<tr><td>新闻标题</td><td>新闻内容</td><td>创建时间</td></tr>");
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        sb1.Append("<tr>");
                        sb1.Append("<td>" + dt.Rows[i]["NewsTitle"].ToString() + "</td>");
                        sb1.Append("<td>" + dt.Rows[i]["NewsContent"].ToString() + "</td>");
                        sb1.Append("<td>" + dt.Rows[i]["CreateTime"].ToString() + "</td>");
                        sb1.Append("</tr>");


                    }
                    sb1.Append("</table>");
                    divResult.InnerHtml = sb1.ToString();




                }


            }






        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            ViewState["pageindex"] = 1;
            DateBind();
            GetCount();
            
        }


        protected void BtnFirst_Click(object sender, EventArgs e)
        {


            int pageindex = Convert.ToInt32(ViewState["pageindex"]);
            pageindex = 1;
            ViewState["pageindex"] = pageindex;
            DateBind();
           
        }


        protected void BtnPre_Click(object sender, EventArgs e)
        {
            int pageindex = Convert.ToInt32(ViewState["pageindex"]);
            if (pageindex > 1)
            {
                pageindex--; 
                ViewState["pageindex"] = pageindex;
                DateBind();
           
            }
          
        }


        protected void BtnNext_Click(object sender, EventArgs e)
        {


            int pageindex = Convert.ToInt32(ViewState["pageindex"]);
            if (pageindex < Convert.ToInt32(ViewState["pagelastindex"]))
            {
                pageindex++;
                ViewState["pageindex"] = pageindex;
                DateBind();
               
            }




        }


        protected void BtnLast_Click(object sender, EventArgs e)
        {
            ViewState["pageindex"] = ViewState["pagelastindex"];
            DateBind();
           
         
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值