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

搜索引擎

开发平台:

ASP/ASPX

  1. <%@ Page Language="c#" autoeventwireup="true" Inherits="Searcharoo.WebApplication.SearchPageBase"%>
  2. <%@ import Namespace="System" %>
  3. <%@ import Namespace="System.Xml.Serialization" %>
  4. <%@ import Namespace="System.Collections.Specialized" %>
  5. <%@ import Namespace="Searcharoo.Common" %>
  6. <%@ Register TagPrefix="roo" TagName="SearchPanel" Src="SearchControl.ascx" %>
  7. <script runat="server">
  8.     /*
  9. * (c) 2004-2008 Craig Dunn - ConceptDevelopment.NET
  10. * v1 30-Jun-04
  11. * v2 02-Jul-04
  12. * v3 30-Mar-06
  13. * v4 13-Mar-07
  14. * v5 25-Apr-07
  15. * v6    Jun-08
  16. * v7 10-Oct-08
  17. * More info:
  18. *    http://www.searcharoo.net/
  19. *    http://www.conceptdevelopment.net/search/searcharooV1/
  20. *    http://www.conceptdevelopment.net/search/searcharooV2/
  21. *    http://www.conceptdevelopment.net/search/searcharooV3/
  22. *    http://www.conceptdevelopment.net/search/searcharoo-V4/
  23. *    http://searcharoo.net/SearcharooV5/
  24. *    http://searcharoo.net/SearcharooV6/
  25. *    http://searcharoo.net/SearcharooV7/
  26. */
  27.     /// <summary>
  28.     /// This method implements a 'rolling window' page-number index
  29.     /// for the underlying PagedDataSource
  30.     /// </summary>
  31.     /// <remarks>
  32.     /// http://www.sitepoint.com/article/asp-nets-pageddatasource
  33.     /// http://www.uberasp.net/ArticlePrint.aspx?id=29
  34.     /// 
  35.     /// http://www.codeproject.com/KB/aspnet/Mastering_DataBinding.aspx
  36.     /// </remarks>
  37.     public string CreatePagerLinks(PagedDataSource objPds, string BaseUrl)
  38.     {
  39.     StringBuilder sbPager  = new StringBuilder();
  40.     StringBuilder sbPager1 = new StringBuilder();
  41.     sbPager1.Append ("<td><font color=black>S</font><font color=red>e</font><font color=blue>a</font><font color=green>r</font><font color=darkgrey>c</font><font color=purple>h</font><font color=brown>a</font><font color=darkpink>r</font></td>");
  42.     
  43.     if (objPds.IsFirstPage)
  44.     { // lower link is blank
  45.     sbPager.Append ("<td></td>");
  46.     }
  47.     else
  48.     { // first+prev link
  49.     sbPager.Append ("<td align=right>");
  50.     // first page link
  51.     sbPager.Append ("<a href="");
  52.     sbPager.Append (CreatePageUrl (BaseUrl, 1) );
  53.     sbPager.Append ("" alt="First Page" title="First Page">|&lt;</a>&nbsp;");
  54.     if (objPds.CurrentPageIndex != 1)
  55.     {
  56.     // previous page link
  57.     sbPager.Append ("<a href="");
  58.     sbPager.Append (CreatePageUrl (BaseUrl, objPds.CurrentPageIndex ) );
  59.     sbPager.Append ("" alt="Previous Page" title="Previous Page">&laquo;</a>&nbsp;");
  60.     }
  61.     sbPager.Append ("</td>");
  62.     }
  63.     // calc low and high limits for numeric links
  64.     int intLow = objPds.CurrentPageIndex - 1;
  65.     int intHigh = objPds.CurrentPageIndex + 3;
  66.     if (intLow < 1) intLow = 1;
  67.     if (intHigh > objPds.PageCount) intHigh = objPds.PageCount;
  68.     if (intHigh - intLow < 5) while ((intHigh < intLow + 4) && intHigh < objPds.PageCount) intHigh++;
  69.     if (intHigh - intLow < 5) while ((intLow > intHigh - 4) && intLow > 1) intLow--;
  70.     for (int x = intLow; x < intHigh + 1; x++)
  71.     {
  72.     // numeric links
  73.     if (x == objPds.CurrentPageIndex + 1)
  74.     {
  75.     sbPager1.Append("<td width=10 align=center><font color=orange><b>o</b></td>");
  76.     sbPager.Append ("<td>" + x.ToString() + "</td>");
  77.     }
  78.     else
  79.     {
  80.     sbPager1.Append("<td width=10 align=center><font color=orange><b>o</b></td>");
  81.     sbPager.Append ("<td>");
  82.     sbPager.Append ("<a href="");
  83.     sbPager.Append (CreatePageUrl (BaseUrl, x ) );
  84.     sbPager.Append ("" alt="Go to page" title="Go to page">");
  85.     sbPager.Append (x.ToString());
  86.     sbPager.Append ("</a> " );
  87.     sbPager.Append ("</td>");
  88.     }
  89.     }
  90.     if (!objPds.IsLastPage)
  91.     {
  92.     sbPager.Append("<td>");
  93.     if ((objPds.CurrentPageIndex + 2) != objPds.PageCount)
  94.     {
  95.     // next page link
  96.     sbPager.Append ("&nbsp;<a href="");
  97.     sbPager.Append (CreatePageUrl (BaseUrl, objPds.CurrentPageIndex + 2));
  98.     sbPager.Append ("" alt="Next Page" title="Next Page">&raquo;</a> ");
  99.     }
  100.     // last page link
  101.     sbPager.Append ("&nbsp;<a href="");
  102.     sbPager.Append (CreatePageUrl (BaseUrl,objPds.PageCount ));
  103.     sbPager.Append ("" alt="Last Page" title="Last Page">&gt;|</a>");
  104.     sbPager.Append ("</td>");
  105.     }
  106.     else
  107.     {
  108.     if (objPds.PageCount == 1) sbPager.Append ("<td> of 1</td>");
  109.     }
  110.     // convert the final links to a string and assign to labels
  111.     return "<table cellpadding=0 cellspacing=1 border=0><tr>" + sbPager1.ToString() + "</tr><tr>" + sbPager.ToString() + "</tr></table>";
  112.     }
  113. </script>
  114. <html>
  115.   <head>
  116.     <title>Searcharoo.Net Version 7</title>
  117.     <meta http-equiv="robots" content="none">
  118.     <style type="text/css">
  119. body {margin:10px 10px 10px 10px;background-color:white;}
  120. .heading {font-size:xx-large;font-weight:bold;color:darkgrey;filter:DropShadow (Color=#cccccc, OffX=5, OffY=5, Positive=true);}
  121. .copyright {font-size:xx-small;}
  122. body, td, a {font-family:trebuchet ms, verdana, arial, sans-serif;font-size:small;}
  123. .subheading {font-size:large;font-weight:bold;color:darkgrey;}
  124. .geo {font-size:xx-small; font-color: grey;}
  125. </style>
  126. </head>
  127.    <body>
  128. <roo:SearchPanel id="ucSearchPanelHeader" runat="server" IsSearchResultsPage="false" />
  129. <asp:Panel id="lblNoSearchResults" visible="false" runat="server">
  130. Your search - <b><%=_SearchTerm%></b> - did not match any documents. 
  131. <br><br>
  132. It took <%=_DisplayTime%>.
  133. <p>Suggestions:</p>
  134. <ul>
  135. <li>Check your spelling</li>
  136. <li>Try similar meaning words (synonyms)</li>
  137. <li>Try fewer keywords: <%=_Matches%></li>
  138. </ul>
  139. </asp:Panel>
  140. <asp:Repeater id="SearchResults" runat="server">
  141.     <HeaderTemplate>
  142.     <p><%=_NumberOfMatches%> results for <%=_Matches%> took <%=_DisplayTime%> (<%=_Geocoded%> geocoded
  143.     <% if (_Geocoded >0) {%><a href="/SearchKml/<%=Request["searchfor"]%>.kml">view in Google Earth</a><%} %>)</p>
  144.     </HeaderTemplate>
  145.     <ItemTemplate>
  146.         <font color="blue" size="-1"><asp:literal runat="server" 
  147.             Visible='<%# (string)DataBinder.Eval(Container.DataItem, "Extension") != "html" %>'
  148.         Text='<%# DataBinder.Eval(Container.DataItem, "Extension") %>' /></font>
  149.     <a href="<%# DataBinder.Eval(Container.DataItem, "Url") %>"><b><%# DataBinder.Eval(Container.DataItem, "Title") %></b></a>
  150.     <!--(infile.Title==""?"&laquo; no title &raquo;":infile.Title)-->
  151.     <a href="<%# DataBinder.Eval(Container.DataItem, "Url") %>" target="_blank" title="open in new window" style="font-size:x-small">&uarr;</a>
  152.     <font color=gray>(<%# DataBinder.Eval(Container.DataItem, "Rank") %>)</font>
  153.     <%# DataBinder.Eval(Container.DataItem, "GpsLocationHtml")%>
  154.     <br><%# DataBinder.Eval(Container.DataItem, "Description") %>...
  155.     <font color=brown><asp:literal ID="Literal1" runat="server" 
  156.         Visible='<%# (string)DataBinder.Eval(Container.DataItem, "KeywordString") != "" %>'
  157.         Text='<br />' /><asp:literal runat="server" 
  158.         Visible='<%# (string)DataBinder.Eval(Container.DataItem, "KeywordString") != "" %>'
  159.         Text='<%# DataBinder.Eval(Container.DataItem, "KeywordString") %>' /></font>
  160.     <br><font color=green><%# DataBinder.Eval(Container.DataItem, "Url") %> - <%# DataBinder.Eval(Container.DataItem, "Size") %>
  161.     bytes</font>
  162.     <font color=gray>- <%# DataBinder.Eval(Container.DataItem, "Extension") %> - <%# DataBinder.Eval(Container.DataItem, "CrawledDate") %></font><p>
  163.     </ItemTemplate>
  164.     <FooterTemplate>
  165.     <p><%=CreatePagerLinks(_PagedResults, Request.Url.ToString() )%></p>
  166.     </FooterTemplate>
  167. </asp:Repeater>
  168. <roo:SearchPanel id="ucSearchPanelFooter" runat="server" visible="false" IsSearchResultsPage="true" IsFooter="true"/>
  169. </body>
  170. </html>