Si tengo la siguiente función de jQuery (en un archivo externo):ASP.NET MVC 3 - ¿Podemos usar el enlace de modelo sobre las llamadas jQuery AJAX?
function getResults(field1, field2, field3) {
$.get('/Search/GetResults', { id: field1, type: field2, blah: field3 }, function(data) {
$('#target').html(data);
});
}
que tiene esencialmente un montón de campos del formulario, los envía a un método de acción (que devuelve un PartialViewResult), y se une al resultado a un div de destino
aquí es que el método de acción:
[HttpGet]
public PartialViewResult GetResults(int id, int type, string blah)
{
var model = repository.GetResults(id, type, blah);
return PartialView("Results", model);
}
¿Es posible utilizar aquí enlace de modelos-? Por ejemplo podemos hacer esto:
function getResults(someModel) {
$.get('/Search/GetResults', { model: someModel }, function(data) {
$('#target').html(data);
});
}
Y esto:
[HttpGet]
public PartialViewResult GetResults(SearchPreferences prefs)
{
var model = repository.GetResults(prefs);
return PartialView("Results", model);
}
o debería construir un objeto JSON y pasar eso? Actualmente esos valores se recuperan a través de jQuery individuo DOM llamadas:
var field1 = $('#field1').val();
var field2 = $('#field2').val();
El objetivo es para reducir/simplificar el código de jQuery. Tengo todas esas llamadas para captar todos los valores, luego tengo que pasarlos a todos como parámetros.
Idealmente, me gustaría pasar un solo objeto.
¿Alguna recomendación?
EDITAR: Sólo se dio cuenta de que puede ser capaz de utilizar el nuevo modelo de unión JSON característica de ASP.NET MVC 3. Leyendo sobre ahora ... (no dude en responder con antelación en el ínterin) .
lol, acabo de agregar que edito y estoy leyendo la misma publicación en este momento. :) – RPM1984
¡Bonito ... a veces hago lo mismo! – Chaddeus
Es posible que también desee consultar http://haacked.com/archive/2010/04/15/sending-json-to-an-asp-net-mvc-action-method-argument.aspx – Chaddeus