本人目前在做一个长途公司软件。有一个需求  在textbox中输入地名拼音的首字母,并且按回车就能出来要打的地名:   比如 输入 sh(上海两个字的首字母) 然后textbox会出来一个下拉框 , 然后用户选择要的地名并按回车确认。  请问这个功能如何实现?

解决方案 »

  1.   

    AjaxControlToolkit。自己研究研究。
      

  2.   

    告诉你一个简单的思路,代码自己来写
    1.为你的地名建一个拼音简码表tblPY,
    如pyjm Adrress
      SH    上海
    你在文本框中敲回车键的事件里查询简码表(select address from tblPY WHERE pyjm =textbox1.text)
    listbox.left=textbox1.left;listbox1.width=textbox1.width;
    listbox1.top=textbox1.top+textbox1.heghit
    2.把查询的结果赋给Listbox或者是combox,让赋值的这个控件的visble=true,然后再其selectIndex事件变化里
    写textbox1.text=listbox1.selectitem;listbox.visiable=false
      

  3.   

    今天刚看的啊,你可以用ajax控件autoComplete这个控件可以实现你想要的效果,你看一下吧,
      

  4.   

    http://www.rczjp.cn/js/SearchAjax.js
    里面的JS你拷贝下来  自己修改一下就OK啦
      

  5.   

     en en !!  谢谢各位给我的提示!!!  我自己试试看做做!!!
      

  6.   

    我最近做了个项目,有个搜索框,也是这个功能,你可以拷过去改一下Defualt.aspx代码:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:ImageButton ID="ImageButton1" runat="server" 
           ImageUrl="~/img/searchbutton.gif"/>  <!--AJAX管理控件-->
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <!--AJAX扩展控件-->
        <cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
         TargetControlID="Textbox1" MinimumPrefixLength="1" ServiceMethod="GetStrings" ServicePath="WebService.asmx">
        </cc1:AutoCompleteExtender>
    WebService.asmx代码:<%@ WebService Language="C#" CodeBehind="~/App_Code/WebService.cs" Class="WebService" %>
    WebService.cs的GetStrings方法代码:    [WebMethod]
        public string[] GetStrings(string prefixText, int count)
        {
            DataConn dataconn = new DataConn();
            var querysql = from c in dataconn.Product
                           where SqlMethods.Like(c.Name, prefixText.Trim()+"%")
                           select c;
            string[] oldtemp = new string[8];
            int i = 0, j = 0;
            foreach (var cust in querysql)
            {
                oldtemp[i] = cust.Name;
                i++;
            }
            string[] newtemp = new string[i];
            for (j = 0; j < i; j++)
            {
                newtemp[j] = oldtemp[j];
            }
            return newtemp;
        }
    使用SqlMethods.Like前需要加:using System.Data.Linq.SqlClient;
      

  7.   

    我路过,请问一下,ajax  AjaxControlToolkit。
    我怎么在CSharp2005中没发现这个控件呢?
    它是WINFORM中的控件还是ASP.NET中的呢?
      

  8.   

    ajax  AjaxControlToolkit 单独一个程序包,可以搜一下下载后,引用即可
      

  9.   

    我认为你给每个地名后面加一个字段保存这个地名的正确拼音字符串
    然后在用户输入SH的时候用模糊查找 例如 select addr from tb_addrList where addrPingYin like 'S%H%'
    这样就把相似的都查出来了,然后在赋值给ComboBox就可以了啥;
      

  10.   

    AjaxControlToolkit
    这个具体是什么作用的啊?