Публиковать данные JSON через форму в MVC4

Я пытаюсь POST-объект JSON (модель выбивки JSON-ified, если она имеет какое-либо отношение) к моему контроллеру MVC и заставляет контроллер возвращать новое представление. Для этого я отправляю данные с помощью формы. Проблема в том, что я хотел бы, чтобы JSON автоматически преобразовывался в модель, когда его получает контроллер.

Если бы я использовал вызов AJAX для этого,

var actionModel = new Object();
actionModel.Controls = ko.toJS(self.controls());
var json = JSON.stringify(actionModel);
$.ajax({
    url: "MyController/Preview",
    type: "POST",
    contentType: 'application/json; charset=utf-8',
    cache: false,
    data: json,
    success: function (data) {
    }
});

... объект JSON успешно десериализован и преобразован в экземпляр класса моей модели.

public ActionResult Preview(ActionModel actionModel) { ... }
public class ActionModel
{
    public List<ControlModel> Controls { get; set; }
}

Если я хочу сделать это с помощью формы, я понимаю, что мне нужно вставить JSON в скрытое поле ввода, но лучшее, что я могу сделать при этом, это получить данные в виде сериализованной строки:

@using (Html.BeginForm("Preview", "MyController", FormMethod.Post, new { id = "previewForm" }))
{
    <input type="hidden" id="hiddenFieldName" />
}

public ActionResult Preview(string hiddenFieldName) { ... }

После этого я мог бы просто десериализовать его, но я бы действительно предпочел, чтобы MVC мог конвертировать его для меня, как это было бы с вызовом AJAX. Это возможно?

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос