我无法让 AJAX CT 自动完成功能工作。问题是当我开始在文本框中写入时,什么也没有发生。我遇到的第一个问题是当我尝试添加自动完成页面方法时出现错误:“无法创建页面方法“GetCompletionList”...”。然后我尝试手动创建它,但仍然没有任何反应。
这是 AdministracijaOsoba.aspx 代码:
<asp:TextBox ID="txtOsoba" runat="server"></asp:TextBox><asp:AutoCompleteExtender
ID="AutoCompleteExtender1" runat="server" ScriptPath=""
ServiceMethod="GetCompletionList" ServicePath="AdministracijaOsoba.aspx.cs"
TargetControlID="txtOsoba" UseContextKey="True">
</asp:AutoCompleteExtender>
这是 AdministracijaOsoba.aspx.cs 代码:
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
PravosudnaAkademijaEntities db = new PravosudnaAkademijaEntities();
var osoba = from o in db.osobas
orderby o.osoba_prezime
select new { o.osoba_id, person = o.osoba_prezime + " " + o.osoba_ime };
string[] main = new string[0];
foreach (var o in osoba)
{
if (o.person.StartsWith(prefixText))
{
Array.Resize(ref main, main.Length + 1);
main[main.Length - 1] = o.person.ToString();
if (main.Length == 15)
{
break;
}
}
}
Array.Sort(main);
return main;
}
请注意我正在使用 LINQ to Entities。对此的任何帮助将不胜感激。
问候!