`

Google搜索的实现

    博客分类:
  • Ajax
阅读更多
创建一个web服务
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
//引入空间
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
/// <summary>
/// KeyFind 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//添加服务脚本(必须添,否则程序不能正常运行)
[System.Web.Script.Services.ScriptService]
public class KeyFind1 : System.Web.Services.WebService
{

    public KeyFind1()
    {
        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }
    //定义数组保存获取的内容
    private string[] autoCompleteWordList = null;
    public  SqlConnection conn = null;

    //两个参数“prefixText”表示用户输入的前缀,count表示返回的个数
    [WebMethod]
    public String[] GetCompleteDepart(string prefixText, int count)
    {
        ///检测参数是否为空
        if (string.IsNullOrEmpty(prefixText) == true || count <= 0) return null;
        // 如果数组为空
        if (autoCompleteWordList == null)
        {
            conn = new SqlConnection("server=.\\SQLEXPRESS;database=Sale;User ID=sa;pwd=123");

            SqlDataAdapter da = new SqlDataAdapter("select 商品名称 from 商品表 where 商品名称 like '%" + prefixText + "%'", conn);
           
            DataSet ds = new DataSet();
            da.Fill(ds);
            //conn.Close();
            //读取内容文件的数据到临时数组
            string[] temp = new string[ds.Tables[0].Rows.Count];
            int i = 0;
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                temp[i] = dr["商品名称"].ToString();
                i++;
            }
            Array.Sort(temp, new CaseInsensitiveComparer());
            //将临时数组的内容赋给返回数组
            autoCompleteWordList = temp;            
        }
        //定位二叉树搜索的起点
        int index = Array.BinarySearch(autoCompleteWordList, prefixText, new CaseInsensitiveComparer());
        if (index < 0)
        {   //修正起点
            index = ~index;
        }
        //搜索符合条件的数据
        int matchCount = 0;
        for (matchCount = 0; matchCount < count && matchCount + index < autoCompleteWordList.Length; matchCount++)
        {   ///查看开头字符串相同的项
            if (autoCompleteWordList[index + matchCount].StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase) == false)
            {
                break;
            }
        }
        //处理搜索结果
        string[] matchResultList = new string[matchCount];
        if (matchCount > 0)
        {   //复制搜索结果
            Array.Copy(autoCompleteWordList, index, matchResultList, 0, matchCount);
        }
        return matchResultList;
    }
}

html代码

<form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
            &nbsp;    
        <cc1:AutoCompleteExtender ID="AutoCompleteExtender3" runat="server" TargetControlID="TextBox1"
                ServicePath="KeyFind1.asmx" CompletionSetCount="10" MinimumPrefixLength="1" ServiceMethod="GetCompleteDepart">
        </cc1:AutoCompleteExtender>
        <table style="width: 507px; height: 156px">
            <tr>
                <td style="width: 1027px">
                </td>
                <td style="width: 396px; text-align: center">
                    <strong><span><span style="font-size: 16pt">搜Asp.net技术<span>(搜索引擎)</span></span></span></strong></td>
                <td>
                </td>
            </tr>
            <tr>
                <td style="width: 1027px; text-align: center; height: 57px;">
                    <span style="font-size: 9pt">
        请输入查询关键字:</span></td>
                <td style="width: 396px; height: 57px;">
            <asp:TextBox ID="TextBox1" runat="server" Width="300px"></asp:TextBox></td>
                <td style="height: 57px">
                    <asp:Button ID="Button1" runat="server" Text="搜  索" /></td>
            </tr>
            <tr>
                <td style="width: 1027px">
                </td>
                <td style="width: 396px">
                </td>
                <td>
                </td>
            </tr>
        </table>
    </form>


0
0
分享到:
评论

相关推荐

    Jquery调用Google搜索API实现搜索引擎.rar

    这个“Jquery调用Google搜索API实现搜索引擎.rar”文件包含了一个使用jQuery来调用Google搜索API的插件,使得开发者可以快速、方便地在自己的网页中集成一个搜索引擎。 首先,我们来看主要的组件: 1. **script.js*...

    ajax实现google下拉搜索

    **Ajax实现Google下拉搜索详解** 在Web开发中,实现类似Google的实时下拉搜索功能是一种常见的需求,它能够提供用户友好的交互体验,提高搜索效率。本篇将详细介绍如何利用Ajax技术,结合VS2008开发环境和Oracle...

    Google 搜索客户端 API For C_C++ 在 MFC 中的实现

    在本文中,我们将深入探讨如何将Google搜索客户端API与C++和MFC(Microsoft Foundation Classes)结合使用,以便在Windows应用程序中实现强大的搜索功能。首先,让我们了解什么是Google搜索客户端API以及它如何工作...

    ajax 实现google搜索 模仿了google的搜索

    **Ajax 实现Google搜索模拟** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。在本项目中,我们利用Ajax技术模仿了Google的搜索功能,提供了一种实时、...

    google搜索栏效果实现代码

    总结来说,实现Google搜索栏效果主要涉及以下几个步骤: 1. 使用HTML和CSS创建搜索栏的基础布局和样式。 2. 通过JavaScript监听输入框的事件,实现自动搜索建议功能。 3. 处理搜索按钮的点击事件,完成实际的搜索...

    实现google模糊提示搜索内容

    这个"实现google模糊提示搜索内容"的项目旨在帮助开发者理解并构建类似的功能,以便在自己的应用或网站上提供更智能、更便捷的搜索体验。以下是对该项目的详细解析: 1. **什么是模糊提示搜索?** 模糊提示搜索,...

    类似google搜索功能实现

    在IT行业中,实现类似Google搜索功能是一项复杂而高级的任务,涉及到搜索引擎优化(SEO)、信息检索、数据处理和算法等多个领域的知识。以下将详细介绍这个过程的关键技术点。 首先,我们需要理解Google搜索的核心...

    Google搜索提示功能

    技术实现上,Google搜索提示主要基于以下几个关键点: 1. **Ajax(Asynchronous JavaScript and XML)**:Ajax是构建动态网页的核心技术之一,它允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分...

    google search close 谷歌搜索类

    本文将详细解析"google search close 谷歌搜索类"这一主题,以及如何使用提供的"GoogleCustomSearch.php"和"examples.php"文件来实现定制化的搜索功能。 "Google Search Clone"是指创建一个类似Google的搜索功能,...

    Google搜索从入门到精通 v4.0 [PDF版]

    ### Google搜索从入门到精通 v4.0 关键知识点概览 #### 1. 前言:Google的发现与互联网学习方式的变化 - **Google的发现**:2000年上半年,作者通过新浪网友曹溪的推荐认识了Google,并自此成为首选搜索引擎。 - *...

    利用AJAX实现google搜索引擎

    【标题】:利用AJAX实现google搜索引擎 在Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛用于创建动态、交互性强的网页应用。本主题将详细讲解如何利用AJAX来实现一个类似Google搜索引擎的功能,...

    Java+Ajax实现Google搜索

    在这个项目中,我们将专注于"Java+Ajax实现Google搜索",这涉及到使用Java后端处理搜索请求,以及Ajax技术提供实时、无刷新的用户体验,类似于Google搜索引擎的功能。以下是相关知识点的详细说明: 1. **Java后端...

    实现Google搜索联想的功能实例代码

    本实例代码将教你如何实现类似Google搜索联想的功能,让我们一起深入探讨。 首先,理解Google搜索联想的核心在于关键词匹配和实时性。它需要在用户输入每个字符时,即时更新推荐的搜索建议。这涉及到数据处理、算法...

    ajax实现google搜索提示

    本示例将聚焦于如何使用Ajax来实现类似Google搜索时的实时搜索提示功能。 首先,我们要理解Google搜索提示的基本原理。它通过在用户输入关键字时,向服务器发送请求,服务器根据这些关键字返回相关的搜索建议。这些...

    谷歌搜索样式

    标题中的“谷歌搜索样式”指的是实现与谷歌搜索引擎类似的用户界面和交互效果,这通常涉及到前端开发中的用户体验设计和JavaScript库的使用。谷歌搜索以其简洁、高效的界面和智能的搜索建议功能而闻名,开发者可能...

    使用google搜索引擎对指定站点进行搜索

    在互联网世界中,搜索引擎是获取信息的关键工具,Google搜索引擎因其高效、准确的搜索结果而备受推崇。本篇文章将深入探讨如何使用Google搜索引擎针对特定站点进行搜索,以帮助用户更精准地定位所需信息。 首先,...

    Ajax和Jquery实现谷歌百度搜索下来提示

    总的来说,这个项目结合了Ajax、jQuery和C#,利用Microsoft Visual Studio 2008作为开发工具,实现了类似谷歌和百度搜索框的下拉提示功能。通过Ajax技术,用户在输入搜索词时可以实时看到匹配的搜索建议,提升了用户...

    综合搜索、百度搜索、谷歌搜索、有道搜索、搜搜、源代码

    标题中的“综合搜索、百度搜索、谷歌搜索、有道搜索、搜搜”指的是五种不同的搜索引擎,它们在互联网上帮助用户查找信息。这些搜索引擎各有特点,覆盖了广泛的搜索领域。 1. **综合搜索**通常指的是集合了多个搜索...

    模拟google搜索特效

    在IT行业中,模拟Google搜索特效是一项常见的前端开发任务,它涉及到网页动态效果的实现,以提供用户友好的交互体验。这个项目的目标是复制Google搜索引擎在用户输入查询时展示的实时搜索建议和结果预览功能。下面...

    百度+谷歌 搜索模块接口

    根据提供的文件信息,本文将详细解析“百度+谷歌搜索模块接口”的相关知识点,包括但不限于其功能、实现方式以及具体的代码示例。 ### 一、百度与谷歌搜索接口概述 #### 1.1 百度搜索接口 百度搜索引擎提供了丰富...

Global site tag (gtag.js) - Google Analytics