⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 advancedsearchpanel.ascx.cs

📁 Portal C# Article Live
💻 CS
字号:
namespace Interspire.ArticleLive.Web.Templates.DefaultFixed.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 + -