У меня есть текстовое поле ASP класса clsArtistList
, помещенное в usercontrol
<asp:TextBox CssClass="clsArtistList" ID="txtArtistList" runat="server"></asp:TextBox>
Затем я использую jquery-ui-1.8.16 для создания функции автозаполнения для моего текстового поля.Я скопировал его из http://www.dotnetcurry.com/ShowArticle.aspx?ID=515, но я действительно не знаю, как он работает
$(".clsArtistList").autocomplete({
source: function(request, response) {
$.ajax({
url: "../ArtistWS.asmx/GetAllArtists",
data: "{ 'ARTIST_NAME': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function(data) { return data; },
success: function(data) {
response($.map(data.d, function(item) {
return {
value: item.ARTIST_NAME
}
}))
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
},
minLength: 1
});
, и это мой веб-сервис
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public List<Artist> GetAllArtists(string ARTIST_NAME) {
ArtistCollection coll = ArtistManager.GetAllArtists();
return coll.FindAll(a => a.ARTIST_NAME.ToLower().StartsWith(ARTIST_NAME.ToLower()));
}
Для ваших интересов моя ArtistCollectionэто список художника.И класс Artist выглядит так:
public class Artist {
public string ARTIST_ID { get; set; }
public string ARTIST_NAME { get; set; }
public string ARTIST_NATIONALITY { get; set; }
public string ARTIST_INFO { get; set; }
}
Но код не работает.Каждый раз, когда я печатаю, я получаю сообщение об ошибке Внутренняя ошибка сервера
Заранее спасибо.Мне нужна твоя помощь