вызов метода контроллера каждый раз, когда пользователь меняет выбор - PullRequest
1 голос
/ 07 декабря 2011

У меня есть следующий код

@Html.DropDownList("optionsforuser", new SelectList(new[] { "Option1", "Option2" }), "Select")

Теперь я хочу вызвать метод из контроллера, передав ему любой выбранный пользователем вариант. Есть идеи, как это можно сделать?

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Поскольку MVC 3 поставляется с jQuery, поскольку он является библиотекой javascript, вы можете сделать следующее для публикации на всю страницу:

$('optionsforuser').on('change', function() {
  $(this).closest('form').submit();
});

Или, если вы хотите работать асинхронно:

$('optionsforuser').on('change', function() {
  var form = $(this).closest('form');
  $.post('urihere', form.serialize());
});

Обновление

Или асинхронный с обратным вызовом при завершении:

Or if you wish to go asynchronous:

$('optionsforuser').on('change', function() {
  var form = $(this).closest('form');
  $.ajax({
    type: 'POST',
    url: 'urlHere',
    data: form.serialize(),
    complete: function(jqXHR, textStatus) {
      // Your callback code here
    }
  });
});
1 голос
/ 07 декабря 2011

присоедините обработчик событий с помощью jquery, который выполняет вызов ajax при изменении.

$("#optionsforuser").bind("change", function() { 
        // call you controller with jquery ajax.
        $(this).val() // this is the selected value
    });

посмотрите на это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...