Ajax自动完成扩展程序文本框 [英] Ajax Autocomplete extender textbox

查看:54
本文介绍了Ajax自动完成扩展程序文本框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我遇到了一个独特的问题。我有1个usercontrol,我是这个自动建议扩展器。我在所有需要autosuggest testbox的页面上使用此控件,但在1页上它不起作用。我已经在页面上注册了控件仍然无法正常工作,有人可以建议我吗?



Hello everyone,
I am struck with a unique problem. I have 1 usercontrol where I am this auto suggest extender. I am using this control on all the pages where ever I need autosuggest testbox but on 1 page its not working. I have registered the control on the page still its not working, can someone suggest me something?

I am just calling the control on the page where i need this auto suggest textbox like this :
<uc1:ctrlFetchemps ID="ctrlFetchemps1" runat="server" />
I have registered it on the page like this :
  <%@ Register Src="~/WebUserControls/Common/ctrlFetchemps .ascx" TagName="ctrlFetchemps " TagPrefix="uc1" %>

推荐答案

感谢大家回复,虽然我已经自己解决了。有一个javascript缺失相同。再次感谢。
Thanks guys for replying though I have solved it myself. There was a javascript missing for the same. Thanks once again.


在你的aspx页面试试这个





try this in your aspx page


<asp:TextBox ID="Item_Name" runat="server" Width="200px"

            ontextchanged="Item_Name_TextChanged" AutoPostBack="True" TabIndex="2"></asp:TextBox>
        <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" CompletionInterval="500" MinimumPrefixLength="1" ServiceMethod="Getdata"

                        TargetControlID="Item_Name" UseContextKey="True">
        </asp:AutoCompleteExtender>













和.cs的确如下









and in .cs do as below

[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
        public static string[] Getdata(string prefixText, int count, string contextKey)
        {
            SqlConnection con1 = new SqlConnection(Connection.getConnectionString());
            con1.Open();

            DataTable dt = new DataTable();
            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter adap = new SqlDataAdapter("Your sql query for suggesstion, con1);
            adap.Fill(dt);

            string[] main = new string[0];
            int j = dt.Rows.Count; //ds.Tables["Ledger_Master"].Rows.Count;

            for (int i = 0; i < j; i++)
            {
                //if (ds.Tables[0].Rows[i].ItemArray[0].ToString().ToLower().StartsWith(prefixText.ToLower()))
                if (dt.Rows[i].ItemArray[0].ToString().ToLower().Contains(prefixText.ToLower()))
                {
                    Array.Resize(ref main, main.Length + 1);
                    //main[main.Length - 1] = ds.Tables[0].Rows[i].ItemArray[0].ToString();
                    main[main.Length - 1] = dt.Rows[i].ItemArray[0].ToString();
                    if (main.Length == 15)
                        break;
                }
            } con1.Close();
            Array.Sort(main);
            return main;
        }


这篇关于Ajax自动完成扩展程序文本框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆