В MVC3, как у меня есть раскрывающийся список, который показывает / скрывает поля на основе выбранного значения? - PullRequest
0 голосов
/ 12 октября 2011

У меня есть выпадающий список стран и форма адреса.В зависимости от выбранной страны, я хочу скрыть / показать определенные поля.Я довольно новичок в MVC и MVC3, какой лучший способ сделать это?

У меня на странице есть DropDownListFor, который заполняется правильно.Когда это меняется, я думаю, мне нужно спросить сервер, какие поля показать / скрыть.Я мог бы поместить JQuery в событие изменения, вызывающее метод, и он возвращает json, говорящий visible: true для каждого поля, но я не знаю, идеально ли это или даже как его реализовать (возможно, $ .ajax или что-то в этом роде).

Любые идеи?

Редактировать: я должен добавить сложную часть этого вопроса, спрашивая сервер, какие поля показывать для каждой страны, так как есть много стран, и все возможности хранятся вбаза данных.Я привык к веб-формам, а не к MVC, поэтому я обычно выполнял обратную передачу и имел логику на стороне сервера, но это не вариант для MVC, на самом деле ...

1 Ответ

2 голосов
/ 12 октября 2011

Я удалил свой первый ответ, так как он не имеет значения.

С MVC3 вы можете отправить запрос AJAX любому методу.

В HomeController.cs:

public List<string> GetFieldsToShow(string id)
{

   // if you routing is left to default, the parameter passed in will be called 'id'

   // Do what you gotta do...
   List<string> listOfFieldsToShowBasedOnCountry = GetList(id);
   return listOfFieldsToShowBasedOnCountry;
}

А в вызове AJAX что-то вроде ...

$.ajax({
   type: 'POST',
   url: '/Home/GetFieldsToShow/' + valueOfSelectedDropDownItem,
   /*etc...*/
   success: function(data){
      $(data).each(function(){
         $('#' + this).show();
      }
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...