<%@ Import Namespace="System.Text"
%> <html>
<head>
<title> Google Search</title>
<script runat="server" language="c#">
String key="tI53o0BQFHLu90XJKmvXHnEXqyuHEo1g";
int maxresult=10;
String formatstr="<p><a href=\"{1}\">{0}</a><br
/>{2}<br/>{1}-{3} </p>";
void Page_Load(Object s, EventArgs e)
{
if(!IsPostBack)
{
lblResult.Visible=false;
lbNext.Visible=false;
lbPrev.Visible=false;
HeaderPanel.Visible=false;
}
}
void Search(Object s , EventArgs e)
{
lblResultList.Text=doQuery(searchtxt.Text
, 0);
Session["CurrentRec"]=0;
HeaderPanel.Visible=true;
}
String doQuery(String searchtext
, int startrecord
)
{
int totalcount;
String displaytitle;
StringBuilder sb=new StringBuilder();
GoogleSearchService
s=new GoogleSearchService();
s.Credentials = System.Net.CredentialCache.DefaultCredentials;
GoogleSearchResult r=s.doGoogleSearch
(key,
searchtext, startrecord,
maxresult,
false," ", false ," "," ","
");
totalcount=r.estimatedTotalResultsCount;
// ResultElement[] result=r.resultElements;
foreach(ResultElement res in r.resultElements)
{
if(res.title !=" " )
{
displaytitle=res.title;
}
else
{
displaytitle=res.URL;
}
sb.Append( String.Format( formatstr ,displaytitle ,res.URL
,res.snippet , res.cachedSize) );
} //end of foreach
if( r.estimateIsExact && r.endIndex >=totalcount)
{
lbNext.Visible=false;
}
else
{
lbNext.Visible=true;
}
if (startrecord==0)
{
lbPrev.Visible=false;
}
else
{
lbNext.Visible=true;
}
lbltotal.Text=Convert.ToString(totalcount);
lblResult.Visible=true;
return sb.ToString();
} //end of doQuery
void PrevClick(Object s , EventArgs e)
{
Session["CurrentRec"]= Convert.ToInt32(Session["CurrentRec"])-maxresult;
lblResultList.Text=doQuery(searchtxt.Text , Convert.ToInt32(Session["CurrentRec"])
);
}
void NextClick(Object s , EventArgs e)
{
Session["CurrentRec"]= Convert.ToInt32(Session["CurrentRec"])+maxresult;
lblResultList.Text=doQuery(searchtxt.Text , Convert.ToInt32(Session["CurrentRec"])
);
}
</script>
</head>
<body>
<form runat="server">
Search Google: <asp:TextBox id="searchtxt"
runat="server" />
<asp:Button id="searchbtn" Text="Search"
OnClick="Search" runat="server"
/>
<p>
<asp:Panel id="HeaderPanel" runat="server">
<asp:Label id="lblResult" Text="Total
Result Returned:" runat="server" />
<asp:Label id="lbltotal" runat="server"
/>
<p>
<asp:Label id="lblResultList"
runat="server" /> //stored result
<asp:LinkButton Visible="false" id="lbPrev"
OnClick="PrevClick" runat="server">Previous</asp:LinkButton>
<asp:LinkButton Visible="false" id="lbNext"
OnClick="NextClick" runat="server">Next</asp:LinkButton>
</asp:Panel>
</form>
</body>
</html> |