Skip to main content

Google Search In ASP NET

<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server" Width="300px"></asp:TextBox>
        <asp:Button ID="btnSearch" runat="server" Text="Google Search" OnClick="Button1_Click" /><br />
        <asp:DataList ID="dlSearch" runat="server" Width="600px">
            <ItemTemplate>
                <asp:LinkButton ID="LinkButton1" runat="server" Text='<%#Eval("Title") %>'PostBackUrl='<%#Eval("Url") %>'></asp:LinkButton><br />
                <asp:Label ID="Label1" runat="server" Text='<%#Eval("Content") %>'></asp:Label><br />
                <br />
            </ItemTemplate>
            <FooterTemplate>
                <asp:Label Visible='<%#bool.Parse((dlSearch.Items.Count==0).ToString())%>' runat="server"
                  ID="lblNoRecord" Text="No Record Found!"></asp:Label>
           </FooterTemplate>
        </asp:DataList>
    </div>
    </form
>

</
body> 

Now go to the code view.
Next add a reference of the following Google Search API DLL to your website:
  1. GoogleSearchAPI.dll
And write the following code in .cs file: using System;
using
 System.Collections.Generic;
using
 Google.API.Search;
using
 System.Data;
public
 partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            dlSearch.DataSource = null;
            dlSearch.DataBind();
            TextBox1.Text = "";
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        dt.Columns.Add(new DataColumn("Title"typeof(string)));
        dt.Columns.Add(new DataColumn("Content"typeof(string)));
        dt.Columns.Add(new DataColumn("Url"typeof(string)));
        GwebSearchClient client = new GwebSearchClient("www.c-sharpcorner.com");
        IList<IWebResult> results = client.Search(TextBox1.Text, 32);
        foreach (IWebResult result in results)
        {
            DataRow dr = dt.NewRow();
            dr["Title"] = result.Title.ToString();
            dr["Content"] = result.Content.ToString();
            dr["Url"] = result.Url;
            dt.Rows.Add(dr);
        }
        dlSearch.DataSource = dt;
        dlSearch.DataBind();
    }
}
In the code above i passed the textbox value in button click to google server.
After getting the result i binded it to datatable then to datalist control.

just check these two lines:

GwebSearchClient client = new GwebSearchClient("www.asp.net");
IList<IWebResult> results = client.Search(TextBox1.Text, 30);
In the 1st line i am passing "www.asp.net" as Client because it required a hosted site for Security purposed.
If you didn't pass then it will show exception.
In the 2nd line i am passing 30 and textbox value. Here 30 means i am getting 30 search results.
So You Can increase or decrease this value according to your requirement.
Now build your application. Enter Search query press the button.

Comments

Popular posts from this blog

ASP.NET e-Commerce website GridView with Product Listing

Introduction : E-Commerce web applications are everywhere these days, and many share a common set of functionality. In this article, I will show how to use the GridView and ListView controls to build a powerful product page with many of the features found on today's e-commerce sites. We'll build a bicycle store product grid using some free clip art bicycle images. The example files are user controls which can be easily added to a page. We're only using three images here to keep the size of the sample application small. In previously I was explained about  Sending Email from Asp.net With Dynamic Content  ,  How To Export gridview data to Excel/PDF , CSV Formates in asp.net C#  , How to print Specific Area in asp.net web page How To- Search records or data in gridview using jQuery  . A shopping cart application would require to display the products in a multi column grid, rather than a straight down list or a table. The each item in a product grid would have

How to hide url parameters in asp.net

There are different ways to Hide the URL in asp.net , you can choose any one from bellow options . Previously I was Explained about the  Difference between Convert.tostring and .tostring() method Example  ,   Reasons to use Twitter Bootstrap , How to Register AJAX toolkit in web.config file in asp.net a) Using Post Method b) Using Of Session . c) URL Encoding & decoding process . d) Using Server.Transfer() instead of Response.Redirect() method (1)Use a form and POST the information. This might require additional code in source pages, but should not require logic changes in the target pages (merely change Request.QueryString to Request.Form). While POST is not impossible to muck with, it's certainly less appealing than playing with QueryString parameters. (2)Use session variables to carry information from page to page. This is likely a more substantial effort compared to (1), because you will need to take session variable checking into account (e.g. the

Nested GridView in ASP.NET Using c# with show/hide

In This example shows how to create Nested GridView In Asp.Net Using C# And VB.NET With Expand Collapse Functionality. Previous post I was Explained about the   ASP.NET e-Commerce website GridView with Product Listing  ,  How To Export gridview data to Excel/PDF , CSV Formates in asp.net C# , Sending Email from Asp.net With Dynamic Content  ,  SQL Server- Case Sensitive Search in SQL Server I have used JavaScript to Create Expandable Collapsible Effect by displaying Plus Minus image buttons. Customers and Orders Table of Northwind Database are used to populate nested GridViews. Drag and place SqlDataSource from toolbox on aspx page and configure and choose it as datasource from smart tags Go to HTML source of page and add 2 TemplateField in <Columns>, one as first column and one as last column of gridview. Place another grid in last templateField column. Markup of page after adding both templatefields will like as shown below. HTML SOURCE < a