Sto provando a passare i dati di un modulo al mio metodo controller usando JQuery Ajax, ma non sono sicuro di come lo si faccia perché il mio ViewModel è nullo quando uso il debugger sul Controller Side.MVC3 Passa ViewModel al metodo controller usando JQuery Ajax
mio ViewModel è:
public class PremisesViewModel
{
public string createPremisesErrorMessage { get; set; }
public string updatePremisesErrorMessage { get; set; }
public SelectList listOfCounties = Initialise.countiesSelectList;
public Premise premises { get; set; }
}
cui locali è un'entità/tabella nel mio database.
Il modulo contiene i campi nella tabella Locali.
Nella mia funzione javascript faccio questo:
var premisesViewModel = {
Id: 0,
PremisesDescription: $('#premises_PremisesDescription').val(),
OrdnanceSurveyReference: $('#premises_OrdnanceSurveyReference').val(),
PartRestrictedNotes: $('#premises_PartRestrictedNotes').val(),
NatureOfPremises: $('#premises_NatureOfPremises').val(),
AddressLine1: $('#premises_AddressLine1').val(),
AddressLine2: $('#premises_AddressLine2').val(),
Town: $('#premises_Town').val(),
CountyId: $('#premises_CountyId').val(),
Postcode: $('#premises_Postcode').val()
}
alert(form.serialize);
$.ajax({
url: form.attr('action'),
type: 'POST',
dataType: "json",
contentType: 'application/json',
data: JSON.stringify(premisesViewModel),
success: function (data) {
alert('done');
}
})
Tuttavia, quando controllo il parametro ViewModel nel mio metodo, è nullo:
[HttpPost]
public JsonResult Create(PremisesViewModel pvm)
{
return null;
}
Tutte le idee su come mappare questo modo che il viewmodel è legato correttamente. Grazie
Se si utilizza firebug e si guarda la richiesta di posta, invia i dati corretti alla pagina Crea? –