ASP.NET MVC 3 - Можно ли использовать привязку модели через AJAX вызовы jQuery?

Если у меня есть следующая функция 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. Сейчас читаю об этом... (не стесняйтесь отвечать заранее).

9
задан RPM1984 20 January 2011 в 15:10
поделиться