SearchControlBase.cs
上传用户:huiyue
上传日期:2022-04-08
资源大小:1429k
文件大小:4k
源码类别:

搜索引擎

开发平台:

ASP/ASPX

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Web;
  5. using System.Web.Security;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using System.Web.UI.WebControls.WebParts;
  9. using System.Web.UI.HtmlControls;
  10. using Searcharoo.Common;
  11. namespace Searcharoo.WebApplication
  12. {
  13.     /// <summary>
  14.     /// Search.ascx User Control base class
  15.     /// </summary>
  16.     public class SearchControlBase : UserControl
  17.     {
  18.         protected Panel pnlResultsSearch;
  19.         protected Panel pnlHomeSearch;
  20.         protected HtmlGenericControl pHeading;
  21.         protected HtmlTableRow rowSummary, rowFooter1, rowFooter2; 
  22.         /// <summary>Size of the searchable catalog (number of unique words)</summary>
  23.         public int WordCount = -1;
  24.         /// <summary>Word/s displayed in search input box</summary>
  25.         public string Word = "";
  26.         /// <summary>
  27.         /// Error message - on Home Page version ONLY
  28.         /// ie. ONLY when IsSearchResultsPage = true
  29.         /// </summary>
  30.         public string _ErrorMessage;
  31.         /// <summary>Whether the standalone home page version, or the on Search Results page</summary>
  32.         private bool _IsSearchResultsPage;
  33.         /// <summary>Whether the control is placed at the Header or Footer</summary>
  34.         protected bool _IsFooter;
  35.         /// <summary>
  36.         /// Value is either
  37.         ///   false: being displayed on the 'home page' - only thing on the page
  38.         ///   true:  on the Results page (at the top _and_ bottom)
  39.         /// <summary>
  40.         public bool IsSearchResultsPage
  41.         {
  42.             get { return _IsSearchResultsPage; }
  43.             set
  44.             {
  45.                 _IsSearchResultsPage = value;
  46.                 if (_IsSearchResultsPage)
  47.                 {
  48.                     pnlHomeSearch.Visible = false;
  49.                     pnlResultsSearch.Visible = true;
  50.                 }
  51.                 else
  52.                 {
  53.                     pnlHomeSearch.Visible = true;
  54.                     pnlResultsSearch.Visible = false;
  55.                 }
  56.             }
  57.         }
  58.         /// <summary>
  59.         /// Footer control has more 'display items' than the one shown
  60.         /// in the Header - setting this property shows/hides them
  61.         /// </summary>
  62.         public bool IsFooter
  63.         {
  64.             set
  65.             {
  66.                 _IsFooter = value;
  67.                 pHeading.Visible = !_IsFooter;
  68.                 rowFooter1.Visible = _IsFooter;
  69.                 rowFooter2.Visible = _IsFooter;
  70.                 rowSummary.Visible = !_IsFooter;
  71.             }
  72.         }
  73.         /// <summary>
  74.         /// Error message to be displayed if search input box is empty
  75.         /// </summary>
  76.         public string ErrorMessage
  77.         {
  78.             set
  79.             {
  80.                 _ErrorMessage = value;
  81.             }
  82.         }
  83.         /// <summary>
  84.         /// Nothing actually happens on the User Control Page_Load () 
  85.         /// ... for now
  86.         /// <summary>
  87.         protected void Page_Load(object sender, EventArgs ea)
  88.         {
  89.         }
  90.         /// <summary>
  91.         /// Was originally used in Searcharoo3.aspx to generate the top and bottom 
  92.         /// search boxes from a single User Control 'instance'. Decided not to use
  93.         /// that approach - but left this in for reference.
  94.         /// <summary>
  95.         [Obsolete("Render control to string to embed mulitple times in a page; but no longer required.")]
  96.         public override string ToString()
  97.         {
  98.             System.IO.StringWriter writer = new System.IO.StringWriter();
  99.             System.Web.UI.HtmlTextWriter buffer = new System.Web.UI.HtmlTextWriter(writer);
  100.             this.Render(buffer);
  101.             return writer.ToString();
  102.         }
  103.     }
  104. }