`

.net ajax控件实现百度,谷歌智能搜索

 
阅读更多

首先创建一个webservice,不懂也没关系,会用就ok。

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Configuration;//引用

/// <summary>
/// KeyFind 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class KeyFind : System.Web.Services.WebService
{
public KeyFind()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
//定义数组保存获取的内容

private string[] autoCompleteWordList = null;

//两个参数“prefixText”表示用户输入的前缀,count表示返回的个数

[WebMethod]

//方法名要与调用次方法的控件重名
public String[] GetCompleteDepart(string prefixText, int count)
{


//检测参数是否为空

if (string.IsNullOrEmpty(prefixText) == true || count <= 0) return null;

// 如果数组为空

if (autoCompleteWordList == null)
{

//读取数据库的内容

//连接数据库字符串
string sqlstr = "server=192.168.168.57;database=ClothingManage;uid=sa;pwd=1qaz@WSX";
SqlConnection conn = new SqlConnection(sqlstr);
//连接数据库
conn.Open();

string sql = "select ClothingNo from ClothingManage where ClothingNo like N'%" + prefixText + "%' order by ClothingNo desc";

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

DataSet ds = new DataSet();

da.Fill(ds);

//读取内容文件的数据到临时数组

string[] temp = new string[ds.Tables[0].Rows.Count];

int i = 0;

foreach (DataRow dr in ds.Tables[0].Rows)
{

temp[i] = dr["ClothingNo"].ToString();

i++;

}

Array.Sort(temp, new CaseInsensitiveComparer());

//将临时数组的内容赋给返回数组

autoCompleteWordList = temp;

if (conn.State == ConnectionState.Open)

conn.Close();

}

//定位二叉树搜索的起点

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++)
{ //查看开头字符串相同的项

//这里为什么屏蔽掉。如果不屏蔽掉就不是完全的智能搜索。比如E0010 如果我输入0,那么就不会显示。如果有屏蔽掉了就会//

//有该数据

//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;


}
}

--------------------------------------------------------------------------------------------

//AjaxControlToolkit.Binary.NET35.zip 这个是ajax控件集。网上一大片,我就不再重复了。

解压完成之后,然后再引用里面添加就行了。然后再左边添加“选项卡”名字随意。然后打开你刚才的选项卡,在选择“选择项”,然后找到你解压的文件夹。添加dll文件,左边会自动生成控件。 叫AjaxControlToolkit.dll。 对,就是这么简单!

前台:在引用的页面添加此控件,如果是<asp:ScriptManager /> 则会引出版本问题。

再你需要添加文本框的后面添加扩张功能 :选择这个:AutoCompleteExtender

 

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>

<asp:TextBox ID="tbClothingNo" runat="server" onblur="onTextBoxBlur()"></asp:TextBox>
<asp:AutoCompleteExtender ID="tbClothingNo_AutoCompleteExtender" runat="server" DelimiterCharacters=";:,"
Enabled="True" ServicePath="~/Web/WebService/KeyFind.asmx" TargetControlID="tbClothingNo"
CompletionSetCount="10" MinimumPrefixLength="1" ServiceMethod="GetCompleteDepart">

ServiceMethod:你调用的webservice方法名

CompletionSetCount 显示条数

DelimiterCharacters=";:," 需要屏蔽的符号

TargetControlID //需要智能搜索控件的ID

ServicePath //路径

MinimumPrefixLength //搜索最小的长度。当大于等于1的时候搜索

webserviece叫啥名字无关。关键是你自己要知道就ok。

 

就这几点重要的

 

另外我在网上找了一些代码,都是过时的,没有针对最新版本的。让我相当纠结,所以我在此发布一个vs2008最新版本的。

分享到:
评论

相关推荐

    Asp.Net+控件简单实现搜索输入框智能提示功能源码

    本示例提供了一种简单实现这一功能的方法,通过结合控件和数据库链接,模拟百度或Google的搜索建议效果。下面我们将详细探讨如何实现这个功能。 首先,我们需要在ASP.NET项目中添加一个TextBox控件,这是用户输入...

    .net ajax仿GOOGLE下拉

    这个技术利用了.NET框架的AJAX(Asynchronous JavaScript and XML)功能来实现类似谷歌搜索框的动态交互效果。下面将详细讲解这个知识点。 首先,AJAX是一种在不刷新整个网页的情况下,能够更新部分网页内容的技术...

    两个不错的ASP.NET Web控件

    这些控件通常是预先封装好的代码模块,开发者可以通过简单地添加到页面并配置属性来实现特定的功能,例如在网页上提供类似于Google搜索结果提示框的用户体验,或者实现动态显示Tooltip信息。 描述中提到的“类似...

    AJAX实现百度谷歌搜索自动填充

    本篇文章将详细解析如何利用AJAX技术实现类似百度和谷歌搜索框的自动填充功能,以及如何使用ASP.NET AJAX库中的AutoCompleteExtender控件。 首先,AJAX(Asynchronous JavaScript and XML)是一种在不刷新整个页面...

    Ajax控件AutoCompleteExtend实现TextBox类似百度GOOGLE下拉提示

    本主题聚焦于一个特定的Ajax控件——AutoCompleteExtender,它能为文本框(TextBox)添加类似百度或谷歌搜索的智能下拉提示功能。 AutoCompleteExtender是ASP.NET AJAX Control Toolkit中的一个重要组件,它可以极...

    asp.net 仿百度搜索栏智能感知实现快速搜索

    在ASP.NET中,仿百度搜索栏的智能感知功能是一种提高用户体验的重要技术,它允许用户在输入搜索关键词时,系统能够实时地提供相关的搜索建议。这种技术通常基于Ajax(异步JavaScript和XML)来实现,因为它可以实现...

    Telerik RadControls for ASP.NET AJAX Q1 2014 Demos 2014.1.225

    【Telerik RadControls for ASP.NET AJAX Q1 2014 Demos 2014.1.225】是Telerik公司发布的一套针对ASP.NET AJAX平台的UI控件集的演示程序,该版本发布于2014年第一季度,版本号为2014.1.225。Telerik是一家知名的...

    asp.net+Ajax实现自动补齐

    在本教程中,我们将探讨如何利用ASP.NET与Ajax Toolkit来实现输入框的自动补全功能,这个功能类似于百度和谷歌搜索中的输入提示。 Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下更新部分...

    ASP.NET仿google智能提示

    ASP.NET仿Google智能提示是一种常见的前端交互功能,它在用户输入时提供实时的搜索建议或自动补全,极大地提升了用户体验。这种技术的核心在于利用JavaScript进行动态数据处理和页面更新,而无需每次请求都刷新整个...

    asp.net谷歌地图控件使用示例

    本文将详细介绍如何在Asp.NET项目中使用谷歌地图控件,并展示其实现各种功能的示例。 首先,谷歌地图API是Google提供的一项服务,允许开发者在网页或应用程序中嵌入交互式地图。Asp.NET版的GoogleMap控件是基于这个...

    asp.net 使用控件

    6 AutoCompleteExtender 自动的提示功能,在Google和丁丁地图中都用实现效果,不错的哦 7 CalendarExtender 日历控件 8 CascadingDropDown 级联下拉菜单 9 CollapsiblePanelExtender 点击某个控件,显示一个特定...

    ajax仿google智能搜索

    【标题】"Ajax仿Google智能搜索"是一种技术实现方式,旨在为ASP.NET应用程序提供类似谷歌搜索引擎的即时搜索体验。在谷歌搜索中,用户在输入框中键入字符时,搜索建议会实时显示出来,无需点击搜索按钮。这种功能极...

    ASP.NET_AJAX_Programmer's_Reference

    本书还介绍了Microsoft的ASP.NET AJAX框架,它为开发者提供了一系列工具和服务,使得在ASP.NET环境中实现AJAX变得更为简单。包括如何安装ASP.NET AJAX扩展以及ASP.NET Futures,后者是一系列实验性功能,预示着ASP...

    [其他类别]网页层拖动实例(ASP.NET+AJAX)_googlei(ASP.NET源码).rar

    【标题】中的“网页层拖动实例(ASP.NET+AJAX)”是指一个使用ASP.NET技术和AJAX技术实现的网页交互功能,允许用户在网页上拖动特定层或元素。这通常涉及到网页动态效果和用户体验的提升,使得用户可以更加直观地操作...

    XMLHttpRequest +Asp.net+Ajax

    尽管与其说Ajax是一种技术,不如说是一种技巧,但如果没有对XMLHttpRequest的广泛支持,Google Suggest和Ta-da List可能不会像我们看到的有今天这样的发展,而你可能也不会看到手上的这本书! XMLHttpRequest最早是...

    ASP.NET 控件的使用

    7.2 Ajax和用户控件 214 7.3 动态加载用户控件 215 7.3.1 使用引用指令 216 7.3.2 创建多页面向导 220 7.4 小结 226 第三部分 数据访问 第8章 数据访问概述 228 8.1 使用DataBound控件 228 8.1.1 使用列表控件 228 ...

    ajax搜索控件

    6. **用户反馈**:根据用户与搜索结果的交互,如点击结果项,Ajax控件可能还需要支持进一步的操作,如加载详情页面或进行新的搜索。 在.NET环境下,这类控件可以使用各种框架和技术来实现,例如ASP.NET AJAX、...

    [其他类别]网页层拖动实例(ASP.NET+AJAX)_googlei.zip

    【标题】:“网页层拖动实例(ASP.NET+AJAX)”是一个示例项目,它结合了ASP.NET技术和AJAX(Asynchronous JavaScript and XML)来实现网页元素的动态拖放功能。这种技术通常用于提高用户体验,让用户能够通过鼠标交互...

    .net+jquery仿google智能提示

    标题中的".net+jquery仿google智能提示"是指利用.NET技术和jQuery库来创建一个类似于Google搜索框的智能提示功能。这个功能通常在用户输入时,能够根据已有的数据提供实时的建议,提高用户的输入效率和用户体验。 ...

    google suggest 实现 ajax应用

    Google Suggest是Google搜索引擎的一项功能,它在用户输入关键词时即时提供相关的搜索建议。这项功能通过减少用户输入时间和提高搜索效率,极大地提升了搜索体验。Google Suggest的实现基于AJAX技术,能够实现在不...

Global site tag (gtag.js) - Google Analytics