Я пытаюсь использовать элемент управления Kendo UI Autocomplete с фильтрацией сервера, но столкнулся с проблемой.
В то время как моя функция обратного вызова извлекает правильный текст из формы, она постоянно передает нуль методу контроллера. Я не вижу существенного отличия моего кода от примера кода. Я проверил, что вызывается JavaScript и вызывается нужный метод контроллера. Последний просто не получает значение от метода JavaScript.
Что мне не хватает?
.cshtml источник:
@(Html.Kendo().AutoComplete()
.Name("CustomerIdAutocomplete")
.DataTextField("CustomerId")
.MinLength(3)
.HtmlAttributes(new { style = "width:250px" })
.DataSource(source => {
source.Read(read =>
{
read.Action("AutocompleteCustomer", "Autocomplete")
.Data("onAdditionalData");
})
.ServerFiltering(true);
})
)
Javascript:
function onAdditionalData() {
return {
text: $("#CustomerIdAutocomplete").val()
};
}
Метод контроллера:
public ActionResult AutocompleteCustomer(string term)
{
InformixRepository informixRepository = new InformixRepository();
IList<AutocompleteCustomer> customers = informixRepository.GetMatchingCustomerIds(term);
return Json(customers, JsonRequestBehavior.AllowGet);
}
Метод репозитория:
public IList<AutocompleteCustomer> GetMatchingCustomerIds(string text)
{
.... content omitted because "text" is already null at this point
}
AutocompleteCustomer
вместоGetMatchingCustomerIds
- person Nicholas   schedule 02.06.2015