int pagesize = 3;
string str = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack )
{
ViewState["pageindex"] = 1;//当前的页码
GetCount();
DataLoad();
}
}
private void DataLoad()
{
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY Id) AS rownumber, NewsTitle,NewsContent,CreateTime FROM T_News WHERE NewsTitle LIKE @newskey OR NewsContent LIKE @newskey) A WHERE A.rownumber>((@pageindex-1)*@pagesize) AND A.rownumber<=(@pageindex*@pagesize)";
cmd.Parameters.AddWithValue("@pagesize", pagesize);
cmd.Parameters.AddWithValue("@pageindex",Convert.ToInt32(ViewState["pageindex"]));
cmd.Parameters.AddWithValue("@newskey", "%" + TextBox1.Text.Trim() + "%");
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
//将当前的页码赋给页码文本框
TextBox2.Text=ViewState ["pageindex"].ToString ();
Label1.Text = ViewState["pageindex"].ToString() + "/" + ViewState["pagetotalindex"].ToString()+"页";
cmd.Dispose();
con.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"] + "</td>");
sb1.Append("<td>" + dt.Rows[i]["NewsContent"] + "</td>");
sb1.Append("<td>" + dt.Rows[i]["CreateTime"] + "</td>");
sb1.Append("</tr>");
}
sb1.Append("</table>");
divresult.InnerHtml = sb1.ToString();
}
private void GetCount()
{
SqlConnection con = new SqlConnection(str);
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select count(*) from T_News where NewsTitle like @title or NewsContent like @title";
cmd.Parameters.AddWithValue("@title","%"+TextBox1.Text.Trim()+"%");
int totalcount = Convert.ToInt32(cmd.ExecuteScalar());//总共 的条数
if (totalcount % pagesize == 0)
{
ViewState["pagetotalindex"] = totalcount / pagesize;//总过的页码
}
else
{
ViewState["pagetotalindex"] = totalcount / pagesize + 1;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
ViewState["pageindex"] = 1;
GetCount();
DataLoad();
}
//下一页
protected void LinkButton3_Click(object sender, EventArgs e)
{
int pageindex = Convert.ToInt32(ViewState["pageindex"]);
if (pageindex < Convert.ToInt32(ViewState["pagetotalindex"]))
{
pageindex++;
ViewState["pageindex"] = pageindex;
DataLoad();
}
}
//上一页
protected void 上一页_Click(object sender, EventArgs e)
{
int pageindex= Convert.ToInt32(ViewState["pageindex"]);
if(pageindex>1)
{
pageindex--;
ViewState["pageindex"] = pageindex;
DataLoad();
}
}
//首页
protected void LinkButton1_Click(object sender, EventArgs e)
{
ViewState["pageindex"] = 1;
DataLoad();
}
//最后一页
protected void LinkButton4_Click(object sender, EventArgs e)
{
ViewState["pageindex"] = ViewState["pagetotalindex"];
DataLoad();
}
protected void Button2_Click(object sender, EventArgs e)
{
int number;
if(int.TryParse (TextBox2.Text,out number)==true)
{
if (number > 1 && number <Convert.ToInt32( ViewState["pagetotalindex"]))
{
ViewState["pageindex"] = number;
DataLoad();
}
}
}