Tengo un controlador definido como:Mensaje múltiples parámetros a MVC controlador utilizando jQuery.post
[AcceptVerbs(HttpVerbs.Post)] public JsonResult PostMoreData(DataContracts.Address address, DataContracts.GeoLocation geoLocation) { return Json("test"); } where DataContracts.Address and DataContracts.GeoLocation are complex types.
Desde mi punto de vista que estoy tratando de publicar usando jQuery como tal:
function PostMoreData() { var JsonAddress = { "Building": $('Building').val(), "UnitNumber": $('UnitNumber').val(), "StreetNumber": $('StreetNumber').val(), "StreetName": $('StreetName').val(), "StreetType": $('StreetType').val(), "Suburb": $('Suburb').val(), "State": $('State').val(), "Postcode": $('Postcode').val(), "MonthsAtAddress": $('MonthsAtAddress').val() }; var JsonGeoLocation = { "Latitude": $('Latitude').val(), "Longitude": $('Longitude').val() }; jQuery.post("/AddressValidation/PostMoreData", {address: JsonAddress, geoLocation: JsonGeoLocation}, function(data, textStatus) { if (textStatus == "success") { var result = eval(data); if (result.length > 0) { alert(result); } } }, "json"); }
Sin embargo, en el controlador, obtengo nulos.
Funciona si mi Controlador toma solo 1 argumento y publico solo un objeto.
[AcceptVerbs(HttpVerbs.Post)] public JsonResult PostMoreData(DataContracts.Address address) { return Json("test"); }
function PostMoreData() { var JsonAddress = { "Building": $('Building').val(), "UnitNumber": $('UnitNumber').val(), "StreetNumber": $('StreetNumber').val(), "StreetName": $('StreetName').val(), "StreetType": $('StreetType').val(), "Suburb": $('Suburb').val(), "State": $('State').val(), "Postcode": $('Postcode').val(), "MonthsAtAddress": $('MonthsAtAddress').val() }; jQuery.post("/AddressValidation/PostMoreData", JsonAddress, function(data, textStatus) { if (textStatus == "success") { var result = eval(data); if (result.length > 0) { alert(result); } } }, "json"); }
¿Alguna idea de cómo puedo publicar más de un objeto?
¿Puedes publicar algún código de muestra o una referencia de artículo para que podamos seguir tus pasos? Estoy teniendo un problema similar o posiblemente el mismo, pero su respuesta no es tan útil como ahora, ya que necesito averiguar más específicamente de qué partes del marco ms ajax debe comenzar para tratar de avanzar. – Maslow
+1 para una explicación más detallada. –