I'm trying to pass a form's data to my controller method using JQuery Ajax, but I'm not sure how you do this as my ViewModel is null when I use debugger on the Controller Side.
My ViewModel is:
public class PremisesViewModel
{
    public string createPremisesErrorMessage { get; set; }
    public string updatePremisesErrorMessage { get; set; }
    public SelectList listOfCounties = Initialise.countiesSelectList;
    public Premise premises { get; set; }
}
where premises is an entity/table in my database.
The form contains the fields in the Premises table.
In my javascript function I do this:
   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');
        }
    })
However, when I check the viewModel parameter in my method, it is null:
  [HttpPost]
    public JsonResult Create(PremisesViewModel pvm)
    {
        return null;
    }
Any ideas on how to map this so that the viewmodel is bound correctly. Thanks
 
     
     
     
    