Если у меня есть следующая функция jQuery (во внешнем файле):
function getResults(field1, field2, field3) {
$.get('/Search/GetResults', { id: field1, type: field2, blah: field3 }, function(data) {
$('#target').html(data);
});
}
Которая, по сути, берет кучу полей из формы, отправляет их в метод действия (который возвращает PartialViewResult) и привязывает результат к целевому div.
Вот этот метод действия:
[HttpGet]
public PartialViewResult GetResults(int id, int type, string blah)
{
var model = repository.GetResults(id, type, blah);
return PartialView("Results", model);
}
Можно ли здесь использовать привязку к модели? Например, можно ли сделать это:
function getResults(someModel) {
$.get('/Search/GetResults', { model: someModel }, function(data) {
$('#target').html(data);
});
}
И это:
[HttpGet]
public PartialViewResult GetResults(SearchPreferences prefs)
{
var model = repository.GetResults(prefs);
return PartialView("Results", model);
}
Или я должен создать объект JSON и передать его? В настоящее время эти значения извлекаются через отдельные вызовы jQuery DOM:
var field1 = $('#field1').val();
var field2 = $('#field2').val();
Цель - уменьшить/упростить код jQuery. У меня есть все эти вызовы для получения всех значений, затем мне нужно передать их все в качестве параметров.
В идеале я хотел бы передавать только один объект.
Any recommendations?
EDIT: Только что понял, что могу использовать новую JSON Model Binding функцию в ASP.NET MVC 3. Сейчас читаю об этом... (не стесняйтесь отвечать заранее).