📄 advancedsearchpanel.ascx.cs
字号:
namespace Interspire.ArticleLive.Web.Templates.SlickFixed.Panels
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.Text;
public abstract class AdvancedSearchPanel : BaseUserControl
{
protected System.Web.UI.WebControls.TextBox SearchQuery;
protected System.Web.UI.WebControls.Button SearchButton;
protected Interspire.ArticleLive.Web.CategorySelect Categories;
protected Interspire.ArticleLive.Web.ValidationAlerter ValidationAlerter1;
protected CustomRequiredFieldValidator SearchQueryReqVal;
protected CustomRequiredFieldValidator SearchTypeReqVal;
protected System.Web.UI.WebControls.DropDownList SearchType;
private ArticleSearchCriteria currentSearch;
public ArticleSearchCriteria CurrentSearch
{
get { return currentSearch; }
set { currentSearch = value; }
}
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
if (Action == "SearchResults")
{
Visible = true;
WindowTitle = ResourceHelper.GetString("AdvancedSearch");
CurrentSearch = new ArticleSearchCriteria();
CurrentSearch.SearchType = ContentSearchTypeEnum.Word;
if (Request.QueryString["Query"] != null)
CurrentSearch.Query = Request.QueryString["Query"];
try
{
if (Request.QueryString["SearchType"] != null)
CurrentSearch.SearchType = (ContentSearchTypeEnum)Enum.Parse(typeof(ContentSearchTypeEnum), Request.QueryString["SearchType"]);
}
catch
{
// Ignore and continue...
}
ArrayList categoryIDList = new ArrayList();
if (Request.QueryString["CategoryIDs"] != null)
{
if (Request.QueryString["CategoryIDs"] == "0")
CurrentSearch.SearchAllCategories = true;
else
{
string[] stringIDs = Request.QueryString["CategoryIDs"].Split(',');
foreach (string stringID in stringIDs)
{
try
{
categoryIDList.Add(Convert.ToInt32(stringID));
}
catch
{
// Ignore and continue...
}
}
}
}
CurrentSearch.CategoryIDs = (int[])categoryIDList.ToArray(typeof(int));
if (Request.QueryString["AllCategories"] != null)
{
try
{
CurrentSearch.SearchAllCategories = Convert.ToBoolean(Request.QueryString["AllCategories"]);
}
catch
{
// Ignore and continue.
}
}
SetDefaultButton(SearchQuery, SearchButton);
SetDefaultButton(SearchType, SearchButton);
SetDefaultButton(Categories, SearchButton);
DataBind();
}
else if (Action == "AdvancedSearch")
{
Visible = true;
CurrentSearch = new ArticleSearchCriteria();
SetDefaultButton(SearchQuery, SearchButton);
SetDefaultButton(SearchType, SearchButton);
SetDefaultButton(Categories, SearchButton);
DataBind();
}
else
Visible = false;
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
if (!IsPostBack)
{
//this.SearchType.Items.Add(new ListItem("Smart Search", ((int)ContentSearchTypeEnum.Smart).ToString()));
this.SearchType.Items.Add(new ListItem(ResourceHelper.GetString("WordSearch"), ((int)ContentSearchTypeEnum.Word).ToString()));
this.SearchType.Items.Add(new ListItem(ResourceHelper.GetString("PhraseSearch"), ((int)ContentSearchTypeEnum.Phrase).ToString()));
}
this.SearchButton.Click += new System.EventHandler(this.SearchButton_Click);
this.Load += new System.EventHandler(this.Page_Load);
base.OnInit(e);
}
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
private void SearchButton_Click(object sender, System.EventArgs e)
{
string categoryIDString = String.Empty;
//CategorySet categories = (new CategoryEngine(Config.Current)).GetCategories(true, false);
//Category category = categories.GetByID(Categories.SelectedCategoryID);
//categories = categories.GetSubCategories(Categories.SelectedCategoryID);
//categories.Add(category);
int[] ids = Categories.SelectedCategoryIDs;
foreach (int id in ids)
categoryIDString += id + ",";
categoryIDString = categoryIDString.TrimEnd(',');
StringBuilder builder = new StringBuilder();
builder.AppendFormat("{0}?a=SearchResults", Config.Current.ArticlesPagePath);
builder.AppendFormat("&Query={0}", SearchQuery.Text);
builder.AppendFormat("&SearchType={0}", SearchType.SelectedItem.Value);
builder.AppendFormat("&CategoryIDs={0}", categoryIDString);
builder.AppendFormat("&AllCategories={0}", Categories.AllSelected);
Response.Redirect(builder.ToString());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -