フォームのデータをJQuery Ajaxを使用してコントローラメソッドに渡そうとしていますが、デバッガを使用しているときにViewModelがnullであるため、コントローラ側。MVC3 JQuery Ajaxを使用してViewModelをコントローラメソッドに渡す
私のViewModelには、次のとおりです。
前提が私のデータベース内のエンティティ/テーブルですpublic class PremisesViewModel
{
public string createPremisesErrorMessage { get; set; }
public string updatePremisesErrorMessage { get; set; }
public SelectList listOfCounties = Initialise.countiesSelectList;
public Premise premises { get; set; }
}
。
フォームには、プレミステーブルのフィールドが含まれています。私のjavascript関数で
私はこれを行う:私は私の方法でのViewModelパラメータをチェックするとき
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');
}
})
しかし、それがnullである:このようにマッピングする方法について
[HttpPost]
public JsonResult Create(PremisesViewModel pvm)
{
return null;
}
任意のアイデアビューモデルが正しくバインドされていることを確認します。 ありがとう
Firebugを使用して投稿要求を見ると、正しいデータが[作成]ページに送信されますか? –