Я думаю, у вас есть два варианта (хотя первый не такой гибкий и может запутаться)
1) стилизовать вашу кнопку отправки как гиперссылку (легко, но вы, вероятно, в конечном итоге будете использовать Html.BeginAjax
или что-то подобное)
2) Введите div, ActionLink или какой-либо другой элемент и сериализуйте данные формы при повторной отправке с использованием jQuery
Если вы можете лучше описать возвращаемые данные, мы можем лучше настроить параметры dataType
и success
ниже.
$(function () {
$('#myButton').click(function (e) {
e.preventDefault();
$.ajax({
url: '/MyController/MySuperAction',
type: 'POST',
data: $('#formId').serialize(),
dataType: 'json',
success: function (xhr_data) {
// in this particular example, you'll
// parse your JSON returned.
}
});
});
});
Редактировать
Итак, ваш контроллер может выглядеть как
public ActionResult MySuperAction(FormCollection form) {
// I don't recommend using FormCollection
// You should stick to the view model pattern
// process your form
return Json(new { MyValue = "Textbox value" });
}
И вам нужно изменить вышеуказанную функцию success
на что-то вроде
success: function(xhr_data) {
$('#MyTextBoxID').val(xhr_data.MyValue);
}