Я использую AutoCompleteExtender
от AjaxControlToolkit на TextBox
.Автозаполнение AJAX не работает
Проще говоря, когда я перетащить инструмент AutoCompleteExtender
на мой TextBox, а затем нажмите на кнопку «Добавить автозаполнения страничный метод», я получаю следующее сообщение об ошибке:
Cannot create page method "GetCompletionlist because no CodeBehind or CodeFile was found!
После прибегая к помощи ошибки, В основном я создал свой собственный веб-сервис под названием AutoCompelte.asmx. Ниже приведен код для этого класса:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace AutoCompleteTest
{
/// <summary>
/// Summary description for AutoComplete
/// </summary>
[WebService(Namespace = "http://microsoft.com/webservices/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class AutoComplete : System.Web.Services.WebService
{
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
// Create array of movies
string[] movies = { "Star Wars", "Star Trek", "Superman", "Memento", "Shrek", "Shrek II" };
// Return matching movies
return (from m in movies where m.StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase) select m).Take(count).ToArray();
}
}
}
Конечно, выше фиктивные данные .... В дальнейшем, я буду получать данные из базы данных.
И мой Default.aspx выглядит следующим образом:
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
From
<asp:TextBox ID="txtFrom" runat="server">
</asp:TextBox>
<asp:AutoCompleteExtender runat="server"
ID="txtFrom_AutoCompleteExtender"
TargetControlID="txtFrom"
ServiceMethod="GetCompletionList"
ServicePath="AutoComplete.asmx"
MinimumPrefixLength="2"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="20"
DelimiterCharacters=";, :"
ShowOnlyCurrentWordInCompletionListItem="true">
</asp:AutoCompleteExtender>
Когда я запускаю сайт .... и введите в текстовое поле, ничего не происходит. Экран не показан. Даже если я наберу «Звезду».
Что мне не хватает и почему я получил эту ошибку в начале?
P.S. Я нахожусь на своих университетских компьютерах, поэтому, я думаю, что ошибка может быть связана с типом сети, которую я использую. не уверен.
Любая помощь ВЫСОКО ВЫСОКО ВЫСОКО ценится !!
Спасибо.
У меня это работает. Я в основном сделал сайт вместо приложения веб-сайта. По какой-то причине это устранило проблему. – Subby
Вы действительно должны опубликовать это как ответ. –