前台代码:
<table style=\"width: 100%;\">
<tr>
<td>
搜索字: <asp:TextBox ID=\"TextBox1\" runat=\"server\"></asp:TextBox>
<asp:Button ID=\"Button1\" runat=\"server\" Text=\"搜索\" OnClick=\"Button1_Click\" />
</td>
</tr>
<tr>
<td>
<div id=\"divmain\" runat=\"server\"> </div>
</td>
</tr>
<tr>
<td>
<asp:Button ID=\"btnFirst\" runat=\"server\" Text=\"首页\" OnClick=\"btnFirst_Click\" />
<asp:Button ID=\"btnPro\" runat=\"server\" Text=\"上一页\" OnClick=\"btnPro_Click\" />
<asp:Button ID=\"btnNext\" runat=\"server\" Text=\"下一页\" OnClick=\"btnNext_Click\" />
<asp:Button ID=\"btnLast\" runat=\"server\" Text=\"末页\" OnClick=\"btnLast_Click\" />
<asp:Label ID=\"labCountPage\" runat=\"server\"></asp:Label>
<asp:Label ID=\"labpage\" runat=\"server\"></asp:Label>
<asp:TextBox ID=\"TextBox2\" runat=\"server\" Width=\"16px\"></asp:TextBox>
<asp:Button ID=\"btnGo\" runat=\"server\" OnClick=\"btnGo_Click\" Text=\"Go\" />
</td>
</tr>
</table>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState[\"pageIndex\"] = 1;
dataPage();
}
}
private void dataPage()
{
string constr = @\"data source=.;initial catalog=News;user id=sa;password=111111;\";
SqlConnection conn = new SqlConnection(constr);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
#region 用存储过程实现数据分页效果
//cmd.CommandType = CommandType.StoredProcedure;
//cmd.CommandText = \"Pro_SelectNewsPage\";
//cmd.Parameters.AddWithValue(\"@pageIndex\", Convert.ToInt32(ViewState[\"pageIndex\"]));
//cmd.Parameters.AddWithValue(\"@pageSize\", 3);
//SqlParameter parm = new SqlParameter(\"@count\", SqlDbType.Int);
//cmd.Parameters.Add(parm);
//parm.Direction = ParameterDirection.Output;
#endregion
#region 传递SQl语句实现分页并对搜索实现分页默认显示两条记录
cmd.CommandType = CommandType.Text;
cmd.CommandText = \"select top 2 * from (select * from T_News where NewsTitle like @title) as t where t.Id not in(select top ((@pageIndex-1)*2) t.Id from (select * from T_News where NewsTitle like @title) as t) order by t.Id\";
cmd.Parameters.AddWithValue(\"@pageIndex\", Convert.ToInt32(ViewState[\"pageIndex\"]));
cmd.Parameters.AddWithValue(\"@title\",\"%\"+TextBox1.Text.Trim()+\"%\");
#endregion
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
//ViewState[\"pageCount\"] = parm.Value;
cmd.CommandText = \"select count(*) from T_News where NewsTitle like @titles\";
cmd.Parameters.AddWithValue(\"@titles\", \"%\" + TextBox1.Text.Trim() + \"%\");
int sum = Convert.ToInt32(cmd.ExecuteScalar());
if (sum % 2 == 0)
{
ViewState[\"pageCount\"] = sum/2;
}
else
{
ViewState[\"pageCount\"] = sum / 2 + 1;
}
conn.Close();
conn.Dispose();
StringBuilder sb = new StringBuilder();
sb.Append(\"<table>\");
foreach (DataRow row in dt.Rows)
{
sb.Append(\"<tr><td>\"+row[\"NewsTitle\"].ToString()+\"</td>\");
sb.Append(\"<td>\" + row[\"NewsContent\"].ToString() + \"</td>\");
sb.Append(\"<td>\" + row[\"CreateTime\"].ToString() + \"</td></tr>\");
}
sb.Append(\"</table>\");
divmain.InnerHtml = sb.ToString();
labCountPage.Text = \"总共\" + ViewState[\"pageCount\"] + \"页\";
labpage.Text = \"当前第\" + ViewState[\"pageIndex\"] + \"页\";
}
protected void Button1_Click(object sender, EventArgs e)
{
ViewState[\"pageIndex\"] = \"1\";
dataPage();
}
protected void btnFirst_Click(object sender, EventArgs e)
{
ViewState[\"pageIndex\"] = \"1\";
dataPage();
}
protected void btnPro_Click(object sender, EventArgs e)
{
int index = Convert.ToInt32(ViewState[\"pageIndex\"]);
index--;
if (index >= 1)
{
ViewState[\"pageIndex\"] = index;
dataPage();
}
}
protected void btnNext_Click(object sender, EventArgs e)
{
int index = Convert.ToInt32(ViewState[\"pageIndex\"]);
index++;
if (index <= Convert.ToInt32(ViewState[\"pageCount\"]))
{
ViewState[\"pageIndex\"] = index;
dataPage();
}
}
protected void btnLast_Click(object sender, EventArgs e)
{
ViewState[\"pageIndex\"] =ViewState[\"pageCount\"];
dataPage();
}
protected void btnGo_Click(object sender, EventArgs e)
{
int i=Convert.ToInt32(TextBox2.Text);
if (i > 0 && i <= Convert.ToInt32(ViewState[\"pageCount\"]))
{
ViewState[\"pageIndex\"] = i;
dataPage();
}
}
本文地址:https://www.stayed.cn/item/7137
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我