2016-07-13 4 views
0

Я использую это plugin, чтобы сделать поле автозаполнения внутри формы для отправки. Все в порядке, только когда я отправляю форму, поле, переданное контроллеру в модели, равно null. Я не знаю, как вернуть полученные данные.Параметр начальной загрузки начальной строки для модели как нуль

Вот мой код HTML:

@Html.TextBoxFor(m => m.Team, new { @type = "text", id = "team", Name = "query", @class = "form-control", placeHolder = "Team (Ej -> Barcelona)", autocomplete = "off" }) 

JS код:

$('#team').typeahead({ 
      ajax: "/Home/AutocompleteTeam", 
      responseText: [ 
       $('#team').val()   
      ] 
     }); 

C# код:

public ActionResult AutocompleteTeam(string query) 
    { 

     List<string> teams = new List<string>(); 
     List<TeamServiceModel> teamsService = teamService.ListTeamsByQuery(query); 
     foreach (var team in teamsService) 
     { 
      if(team.Name.Equals("DEFAULT")) 
      { 
       continue; 
      } 
      else 
      { 
       teams.Add(team.Name); 
      }    
     } 
     return Json(teams, JsonRequestBehavior.AllowGet); 
    } 

служба, которая возвращает список Я фильтрации по запросу работает.

ответ

0

Typeahead уже фильтрует результат. Вы можете сделать ajax-вызов, чтобы получить все команды (вернуть массив) и установить поле «local» в typeahead со значениями массива.

Подробнее здесь http://www.bootply.com/ljIOxm3qDi

+0

Моя проблема в том, возвращаемые данные в контроллер. Model.team null, я не знаю почему. Может кто-нибудь мне помочь? –

+0

change Name = "query" to Name = "Team". Когда значение представляет собой сообщение на стороне сервера, имя должно иметь имя = "Команда" –

+0

О, мой бог! Какая ужасная ошибка! Большое спасибо Александру! –