山本

导航

搜索+分页

 

namespace 使用存储过程分页
{
    public partial class Demo2 : System.Web.UI.Page
    {
        int pagesize = 3;
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                ViewState["pageindex"] = 1;
                count();
                DataLoad();
            }
        }
        private void count()
        {
            string constr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
            SqlConnection conn = new SqlConnection(constr);
            conn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            cmd.CommandText = "SELECT COUNT(*) FROM T_News WHERE NewsTitle LIKE @newskey OR NewsContent LIKE @newskey";
            cmd.Parameters.AddWithValue("@newskey","%"+txtkey.Text+"%");
            int total=Convert.ToInt32(cmd.ExecuteScalar());//一共有多少页
            if (total % pagesize == 0)
            {
                ViewState["pagelastindex"] = total / pagesize;
            }
            else
            {
                ViewState["pagelastindex"] = total / pagesize + 1;
            }
        }
        private void DataLoad()
        {
            string constr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
            SqlConnection conn = new SqlConnection(constr);
            conn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            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";
            cmd.Parameters.AddWithValue("@pageindex",Convert.ToInt32(ViewState["pageindex"]));
            cmd.Parameters.AddWithValue("@pagesize",pagesize);
            cmd.Parameters.AddWithValue("@newskey","%"+txtkey.Text+"%");
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            adapter.Fill(dt);

            cmd.Dispose();
            conn.Dispose();
            StringBuilder sb = new StringBuilder();
            sb.Append("<table border=2>");
            sb.Append("<tr><td>新闻标题</td><td>新闻内容</td><td>创建时间</td></tr>");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sb.Append("<tr>");
                sb.Append("<td>"+dt.Rows[i]["NewsTitle"].ToString()+"</td>");
                sb.Append("<td>"+dt.Rows[i]["NewsContent"].ToString()+"</td>");
                sb.Append("<td>"+dt.Rows[i]["CreateTime"].ToString()+"</td>");
                sb.Append("</tr>");
            }
            sb.Append("</table>");
            divResult.InnerHtml = sb.ToString();
        }
        //查询
        protected void btnQuery_Click(object sender, EventArgs e)
        {
            ViewState["pageindex"]=1;
            count();
            DataLoad();
        }
        //第一页
        protected void btnFirst_Click(object sender, EventArgs e)
        {
            ViewState["pageindex"] = 1;
            DataLoad();
        }
        //上一页
        protected void btnSecond_Click(object sender, EventArgs e)
        {
            int pageindex = Convert.ToInt32(ViewState["pageindex"]);
            if(pageindex>1)
            {
                pageindex--;
                ViewState["pageindex"] = pageindex;
                DataLoad();
            }
        }
        //下一页
        protected void btnNext_Click(object sender, EventArgs e)
        {
           int pageindex=Convert.ToInt32(ViewState["pageindex"]);
           if (pageindex < Convert.ToInt32(ViewState["pagelastindex"]))
            {
                pageindex++;
                ViewState["pageindex"] = pageindex;
                DataLoad();
            }
        }
       //最后一页
        protected void btnLast_Click(object sender, EventArgs e)
        {
            ViewState["pageindex"] = ViewState["pagelastindex"];
            DataLoad();
        }
    }
}

posted on 2013-03-13 20:10  高级菜鸟  阅读(856)  评论(0编辑  收藏  举报