CH12.LiveSearchControls
{
///
/// earch control displays input textbox and button to
///capture input and start search process.
/// [ParseChildren(true),
ToolboxData("<{0}:Search runat=server>{0}:Search>"),
#if LICENSED
RsaLicenseData(
"55489e7a-bff5-4b3c-8f21-c43fad861dfa",
"
mWpgckAepJAp4aU0AvEcGg3TdO+0VXws9Lji
SCLpy7aQKD5V7uj49Exh1RtcB6TcuXxm0R6dw75VmKwyoGbvYT6btOIw
QgqbLhci5LjWmWUPEdBRiYsOLD0h2POXs9xTvp4IDTKXYoP8GPDRKz
klJuuxCbbUcooESQoYHp9ppbE=AQAB
"
),
LicenseProvider(typeof(RsaLicenseProvider)),
#endif
DefaultEvent("LiveSearchSearched"),Designer(typeof(SearchDesigner))]
public class Search : CompositeControl
{
private const string LiveSearchWebPageUrl = "http://www.live.com";
CHAPTER 12 ?– BUILDING A COMPLEX CONTROL 599
private const string LiveSearchWebSearchUrl =
"http://search.live.com/results.aspx";
private const string LiveSearch25PtLogoImageUrl =
"http://go.microsoft.com/fwlink/?LinkId=89151";
private const string LiveSearchLogoImageUrl =
"http://go.microsoft.com/fwlink/?LinkId=89151";
private const int SearchTextBoxWidth = 200;
private const bool DefaultFilteringValue = false;
private const bool DefaultRedirectToLiveSearchValue = false;
private bool searchHandled;
private HyperLink liveSearchLinkImage;
private TextBox searchTextBox;
private Button searchButton;
#if LICENSED
private License license;
#endif
///
/// Default constructor for Search control
/// public Search()
{
#if LICENSED
// initiate license validation
license =
LicenseManager.
Pages:
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790