У меня была похожая проблема несколько месяцев назад, но она была легко решена, потому что я работал над приложением MVC. Сейчас я работаю над старым приложением webforms.
Я вижу правильные результаты, возвращаемые в отладчике, но в моем текстовом поле ничего не отображается. Я не должен правильно форматировать результаты. Это сложно, потому что в WebForms нет встроенного сериализатора для JSON (насколько мне известно). Поэтому вместо этого я возвращаю содержимое, разделенное каналом, а затем разделяю его по возвращении.
Мой JavaScript ...
function myAutoComplete(myTextBox, myLabel, myHiddenVar) {
$(myTextBox).autocomplete({
source: function (request, response) {
$.ajax({
type: 'POST',
dataType: 'json',
url: "myAutoCompletePage.aspx?q=" + request.term +
"&mySearchType=" + $(myLabel).html(),
success: function (data) {
response($.map(data, function (item) {
var result = item.split("|");
return { label: result[0], value: result[0], id: result[1] }
}));
}
});
},
select: function (event, ui) {
$(myTextBox).val(ui.item.name);
$(myHiddenVar).val(ui.item.id);
return false;
}
});
}
Мой код позади ...
foreach (DataRow myDataRow in myDataTable.Rows)
{
Response.Write(myDataRow[0].ToString() + "|" + myDataRow[1].ToString() + Environment.NewLine);
}
Response.End();