Ajax自动完成扩展程序文本框 [英] Ajax Autocomplete extender textbox
本文介绍了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屋!
查看全文