现在的位置: 首页 > 综合 > 正文

google自动感应收索功能

2012年07月21日 ⁄ 综合 ⁄ 共 4573字 ⁄ 字号 评论关闭

1、web页面

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AutoComplete.aspx.cs" Inherits="ch09_AutoComplete" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<%@ Register assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI" tagprefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>AutoComplete 控件示例</title>
</head>
<body>
    <form id="form1" runat="server">
        <DIV style="DISPLAY: inline; FONT-WEIGHT: bold; FONT-SIZE: 30px; FONT-FAMILY: Arial, Verdana">
            AutoComplete 控件示例</DIV>
        <HR width="100%" SIZE="1">
        
    

        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        
    

        <asp:Panel ID="Panel1" runat="server" Height="50px" Width="400px" BorderWidth="1" BackColor="White">
            <table align="center" border="0" cellpadding="0" cellspacing="0" width="400">
                <tr>
                    <td colspan="2" align="center">
                        <font face="Verdana, 新细明体" size="2"><b>■ 输入基本资料 ■</b></font>
                    </td>
                </tr>
                <tr>
                    <td bgcolor="#a3d3ad" height="30" width="70">
                        <div align="right">
                            <font color="#990000" face="Verdana, 新细明体" size="2"><b>地址:</b></font></div>
                    </td>
                    <td bgcolor="#f9f8ee" height="30">
                        <font face="新细明体" size="2">
                            <asp:TextBox ID="txtAddress" runat="server" Columns="45"></asp:TextBox>
                        </font>
                    </td>
                </tr>
            </table>
        </asp:Panel>
        <cc1:AutoCompleteExtender id="AutoCompleteExtender1" runat="server"
    TargetControlID="txtAddress" ServiceMethod="GetCompletionList"
    ServicePath="AutoComplete.asmx" MinimumPrefixLength="1"
    CompletionInterval="500" >
</cc1:AutoCompleteExtender>

   </form>
</body>

</html>

 

2、WebService

<%@ WebService Language="C#" Class="AutoComplete" %>

using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Collections.Generic;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class AutoComplete : System.Web.Services.WebService
{
    [WebMethod]

    public string[] GetCompletionList(string prefixText, int count)
    {       
     
        if (count == 0)
          {  
              count = 10;
          }

       // 具体的查询操作
     //   List<string> items=new List<string>(count);
         
      //  car2100.Model.Enterprise.User_Info model = new car2100.Model.Enterprise.User_Info();
          
       // car2100.BLL.Enterprise.User_Info bll = new car2100.BLL.Enterprise.User_Info();

       // return bll.GetUserName(prefixText, count);  

    }

}

3、AutoCompleteExtender控件的一些属性

客户端AutoComplete Behavior继承于Sys.UI.Behavior(关于Sys.UI.Behavior,可以参考:在ASP.NET Atlas中创建自定义的Behavior)。AutoComplete Behavior有如下属性:

  1. serviceURL:提供自动完成功能的服务器端Web Service的路径。
  2. serviceMethod:提供自动完成功能的服务器端的Web Method名称,该Web Method应该有类似的签名:public String[] GetSuggestions(string prefixText, int count)。其中prefixText为客户端传入的当前输入的字符串,count为返回的提示列表中的最大条目数,同时它应该返回一个string数组,表示提示列表。
  3. minimumPrefixLength:开始提供自动完成列表的文本框内最少的输入字符数量。默认值为3。如果用户刚刚输入一两个字母,您就迫不及待的提供给他一长串的列表,这既没什么意义,也会极大浪费服务器与网络资源。只有用户输入了等于或超过某个数目(由本属性设定)时,给出的建议才是有价值的,Atlas也才会查询服务器端的相应方法并显示给用户提示列表。
  4. completionInterval:每次查询后台的间隔时间,默认值是1000(毫秒)。如果该值太大,则给用户带来程序反应迟钝的印象,如果太小,则加重服务器与网络负担。一般来讲,500-2000是一个比较合理的值。
  5. completionList:显示提示列表的DOM元素。如果不指定,Atlas会自动在相关的TextBox下面创建一个DIV来显示。一般情况下我们无须指定这个属性。
  6. completionSetCount:提示列表中的最大项目数,默认值为10。

服务器端AutoComplete Extender继承于ExtenderControl,类似的,有如下属性:

  1. ServicePath:类似客户端AutoComplete Behavior的serviceURL属性。
  2. ServiceMethod:类似客户端AutoComplete Behavior的serviceMethod属性。
  3. DropDownPanelID:类似客户端AutoComplete Behavior的completionList属性,不过这里指定的是服务器端<asp:Panel />的ID。一般情况下我们无须指定这个属性。
  4. MinimumPrefixLength:类似客户端AutoComplete Behavior的minimumPrefixLength属性。

在使用服务器端AutoComplete Extender时,您需要为其至少指定一个AutoCompleteProperties子控件。AutoCompleteProperties控件用来指定为某个特定的TextBox添加自动完成功能,它同样提供一些属性,其中包含了与上述AutoComplete Extender相同的ServicePathServiceMethodMinimumPrefixLength三个属性。如果您在AutoComplete Extender和AutoCompleteProperties中都设定了上述某种属性,那么设定在AutoCompleteProperties中的会覆盖设定在AutoComplete Extender中的。除此之外,AutoCompleteProperties还提供如下属性:

  1. Enabled:是否启用自动完成功能,您应该将其置为true以启用自动完成。默认值为false。
  2. TargetControlID:指定该自动完成功能将应用到哪个TextBox上,应设置为服务器端TextBox的ID。

 

 

 

抱歉!评论已关闭.