Использование автозаполнения jQuery в моем приложении MVC3 - PullRequest
1 голос
/ 15 ноября 2011

Я делаю регистрационную форму для своих пользователей и хочу, чтобы они писали в своем городе.

Поэтому при вводе названия города параметры автозаполнения компонента пользовательского интерфейса jQuery будут загружаться асинхронно.

В примере на странице показано, как использоватьфайл .php, но как это вписывается в чисто HTTP-решение?

Как получить эти параметры?

У меня есть простая таблица, доступ к которой осуществляется с использованием Entity Framework и шаблона репозитория:

table City
------------------
CityId int primary key,
Name nvarchar(256)

1 Ответ

7 голосов
/ 15 ноября 2011

Плагин автозаполнения отправит GET-запрос по указанному вами пути с помощью параметра ?term=blah querystring.

Вам нужно добавить Action в ваш контроллер для обработки этого запроса и вернуть массив совпадающих значений в виде json.

public ActionResult AutoCompleteCity(string term) {
  var db = new myEFDataContext();
  return Json(db.Cities.Where(city => city.Name.StartsWith(term)).Select(city => city.Name), JsonRequestBehavior.AllowGet);
}

Затем в вашем javascript вы подключаете функцию автозаполнения следующим образом.

$('#cityTextBoxId').autocomplete({ source: '/Controller/AutoCompleteCity' });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...