📄 articlesearch.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Service;
namespace PKMS
{
/// <summary>
/// ArticleResearch 的摘要说明。
/// </summary>
public class ArticleSearch : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button_Search;
protected System.Web.UI.HtmlControls.HtmlForm Form1;
protected System.Web.UI.HtmlControls.HtmlTable Table2;
protected System.Web.UI.WebControls.Label Label_Result;
protected System.Web.UI.WebControls.TextBox TextBox_KeyWord;
protected System.Web.UI.WebControls.Label Label_ResultCount;
protected System.Web.UI.WebControls.CheckBoxList CheckBoxList1;
private int ResultCount;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Table2.Visible = false;
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button_Search.Click += new System.EventHandler(this.Button_Search_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button_Search_Click(object sender, System.EventArgs e)
{
Table2.Visible = true;
string keyword = this.TextBox_KeyWord.Text.Trim();
bool IsBegin = false;
string WhereOrOr;
string sql = "Select ArticleID, Topic From Article ";
DataAccessor da = new DataAccessor();
ResultCount = 0;
this.Label_Result.Text = "<TABLE width=\"100%\">";
//是否根据文档标题查询
if(this.CheckBoxList1.Items[0].Selected)
{
IsBegin = true;
sql += "Where Topic Like ? ";
da.Cmd.Parameters.Add("@key1", System.Data.OleDb.OleDbType.VarChar);
da.Cmd.Parameters["@key1"].Value = "%" + keyword+"%";
}
//是否根据关键字查询
if(this.CheckBoxList1.Items[1].Selected)
{
if(IsBegin == false)
{
WhereOrOr = "Where ";
IsBegin = true;
}
else
{
WhereOrOr = "Or ";
}
sql += (WhereOrOr + "Keywords Like ? ");
da.Cmd.Parameters.Add("@key2", System.Data.OleDb.OleDbType.VarChar);
da.Cmd.Parameters["@key2"].Value = "%" + keyword+"%";
}
//是否全文查询
if(this.CheckBoxList1.Items[2].Selected)
{
if(IsBegin == false)
{
WhereOrOr = "Where ";
IsBegin = true;
}
else
{
WhereOrOr = "Or ";
}
sql += (WhereOrOr + "Content Like ? ");
da.Cmd.Parameters.Add("@key3", System.Data.OleDb.OleDbType.VarChar);
da.Cmd.Parameters["@key3"].Value = "%" + keyword+"%";
}
sql += "Order By UploadDate Desc";
this.Search(da, sql);
da.Close();
this.Label_ResultCount.Text = "共 " + this.ResultCount + " 篇文档";
}
/// <summary>
/// 根据查询字符串输出查询结果
/// </summary>
/// <param name="da">数据访问对象</param>
/// <param name="sql">查询字符串</param>
private void Search(DataAccessor da, string sql)
{
DataTable dt_ArticleList = da.ExecuteDataTable(sql);
int count = dt_ArticleList.Rows.Count;
this.ResultCount += count;
for(int i=0; i<count; i++)
{
this.Label_Result.Text += "<TR><TD height=25> - <A href=\"ArticleView.aspx?ArticleID=" + dt_ArticleList.Rows[i][0].ToString() + "\" target=\"_blank\">" + dt_ArticleList.Rows[i][1].ToString() +"</A></TD></TR>";
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -