Похоже, есть много способов решить эту проблему.
В настоящее время я делаю частичное представление с такой формой:
<div id="container">
<form id="some-form">
<input id="some-text" type="text">
<input id="some-submit" type="submit">
</form>
</div>
затем я перехватываю отправку с помощью JQuery, делаю пост ajax и заменяю форму другим частичным представлением:
$(function()
{
$('#some-form').submit(function(){
$.ajax({
type: "POST",
url: "/Controller/Action",
data: {someVal: $('#some-text').val()},
dataType: "html",
success: function (result) {
$('#container').html(result);
},
error: function (request, status, error) {
alert('Oh no!');
}
});
});
});
Контроллер будет выглядеть так:
[HttpPost]
public ActionResult SomeAction(string someVal)
{
//Do something with text
return PartialView("SubmitSuccess");
}
Мой вопрос
Каковы другие способы сделать то же самое и каковы плюсы и минусы по сравнению с тем, что я делаю?
Полезен ли Ajax.Form?