Вместо использования
$('#txtEmailList')
попробуйте использовать
$('input[id$="txtEmailList"]')
Поскольку вы используете серверный элемент управления TextBox, ваш идентификатор, скорее всего, будет выглядеть как «parentID1_parentID2_txtEmailList».Приведенный выше код будет получать входные данные с идентификатором, который заканчивается на «txtEmailList».
Вот как я делаю это в своем тестовом проекте, и он работает.Конечно, я не использую AjaxPro, поэтому я не уверен, как именно вы это сделаете, но, возможно, это даст вам некоторые идеи.
<script type="text/javascript">
$(function () {
var element = $('input[id$="TextBox1"]');
element.autocomplete({
source: function (request, response) {
$.ajax({
url: "Default.aspx/GetList",
data: "{ 'term': '" + 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
}
}))
}
})
}
});
});
</script>