源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

.net搜索查询并实现分页实例

  • 时间:2021-01-16 20:02 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:.net搜索查询并实现分页实例
前台:
[u]复制代码[/u] 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="分页.aspx.cs" Inherits="分页练习.分页" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">     <title></title> </head> <body>     <form id="form1" runat="server">     <div>     <table>         <tr><td>             <asp:TextBox ID="txtKey" runat="server"></asp:TextBox>             <asp:ImageButton ID="btnQuery" runat="server" onclick="btnQuery_Click" ImageUrl="~/images/0.jpg" Width="20" Height="20" />             <asp:Label ID="Label1" runat="server" Text=""></asp:Label>             </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="btnBefore" runat="server" onclick="btnBefore_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>
后台:
[u]复制代码[/u] 代码如下:
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虽然是声明在函数内部,看似是局部变量,但是在类中的其他函数中也可以直接使用                 ViewState["pageindex"] = 1;                 LoadData();                 Count();             }         }         //搜索查询         private void LoadData()         {             string strcon = "Data Source=PC-DLL;Initial Catalog=News;Persist Security Info=True;User Id=sa;Password=linlin";             SqlConnection conn = new SqlConnection(strcon);             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("@newskey", "%" + txtKey.Text + "%");             cmd.Parameters.AddWithValue("@pagesize",pagesize);             cmd.Parameters.AddWithValue("@pageindex", Convert.ToInt32(ViewState["pageindex"]));             SqlDataAdapter adapter = new SqlDataAdapter(cmd);             DataTable dt = new DataTable();             adapter.Fill(dt);             StringBuilder sb1 = new StringBuilder();             sb1.Append("<table>");             sb1.Append("<tr><td>标题</td><td>内容</td><td>创建时间</td></tr>");             foreach (DataRow row in dt.Rows)             {                 sb1.Append("<tr>");                 sb1.Append("<td>" + row["NewsTitle"].ToString() + "</td>");                 sb1.Append("<td>" + row["NewsContent"].ToString() + "</td>");                 sb1.Append("<td>" + row["CreateTime"].ToString() + "</td>");                 sb1.Append("</tr>");             }             sb1.Append("</table>");             divResult.InnerHtml = sb1.ToString();         }         private void Count()         {             string strcon = "Data Source=PC-DLL;Initial Catalog=News;Persist Security Info=True;User Id=sa;Password=linlin";             SqlConnection conn = new SqlConnection(strcon);             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 + "%");             conn.Open();             int totalcount = Convert.ToInt32(cmd.ExecuteScalar());             if (totalcount % pagesize == 0)             {                 ViewState["pagelastindex"] = totalcount / pagesize;             }             else             {                 ViewState["pagelastindex"] = totalcount / pagesize + 1;             }             cmd.Dispose();             conn.Dispose();         }         //第一页         protected void btnFirst_Click(object sender, EventArgs e)         {             ViewState["pageindex"] = 1;             LoadData();         }         //上一页         protected void btnBefore_Click(object sender, EventArgs e)         {             int pageindex = Convert.ToInt32(ViewState["pageindex"]);             if (pageindex > 1)             {                   pageindex--;                 ViewState["pageindex"] = pageindex;                 LoadData();             }          }         //下一页         protected void btnNext_Click(object sender, EventArgs e)         {             int pageindex = Convert.ToInt32(ViewState["pageindex"]);             if (pageindex < Convert.ToInt32(ViewState["pagelastindex"]))             {                 pageindex++;                 ViewState["pageindex"] = pageindex;                 LoadData();             }          }         //最后一页         protected void btnLast_Click(object sender, EventArgs e)         {             ViewState["pageindex"] = ViewState["pagelastindex"];             LoadData();         }         protected void btnQuery_Click(object sender, ImageClickEventArgs e)         {             Count();             LoadData();         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部