Это то, что я знаю, может быть сделано с помощью кодирования функции в JQuery или Javascript, но похоже, что такая вещь должна быть очень короткой, просто добавив правильную строку в HtmlAttributes HtmlHelper, учитывая, насколько гладкий MVC4,
Я, вероятно, пропустил что-то очень простое, поэтому, пожалуйста, простите меня, если я попрошу очевидного.
Возьмите эту ситуацию:
У вас есть рабочее приложение MVC4, которое вы хотите изменить следующим образом
Вы хотите вызвать ActionResult в контроллере, чтобы изменить содержимое страницы в ответ на пользователя, изменив значение флажка.
Флажок находится внутри формы, но вы не хотите отправлять форму, потому что это приведет к другим проверкам, которые лучше оставить до тех пор, пока пользователь не будет готов отправить
Вы хотите передать модель ActionResult, точно так же, как это было бы с сообщением
Изменения страницы не могут выполняться на стороне клиента, поскольку будет построена новая модель
Я попытался поместить $.Post в HtmlAttributes флажка, который управляет ActionResult просто отлично, но я не могу решить, как передать модель без кодирования функции. Принимая во внимание все остальное о MVC, он настроен на то, чтобы передавать модели очень интуитивно, мне кажется, что должен быть способ сделать это чисто... есть ли?
Большое спасибо
Просто serialize()
форму и отправляйте данные; все, что нужно сделать:
$.post('@Url.Action("Bar", "Foo")',
$('#myForm').serialize(),
function(data) { /*do something with the response*/ });