我想使用AJAX調用將JSON字符串發送到控制器。除了JSON字符串中的嵌套對象沒有映射到控制器端的嵌套對象之外,一切似乎都正常工作。這是我的代碼的一個例子。嵌套的JSON對象沒有映射到服務器端對象
Class MyClass1{
string prop1;
string prop2;
string prop3;
MyClass2 prop4;
}
Class MyClass2{
string prop5;
string prop6;
string prop7;
}
以下是我試圖繪製的圖。
$("#btnSave").click(function() {
$.ajax({
type: 'POST',
url: '@Url.Action("Member", "Application")',
data: { applicantModel:getAppData(), buttonText: $("#btnSave").val(), isDeleted: $("#hdnDeleted").val() },
dataType: "json",
success: function (data) {
},
error: function (xhr, ajaxOptions, error) {
}
});
})
getAppData = function() {
var fields = {
"prop1": "a",
"prop2": "b",
"prop3": "c",
"prop4":{
"prop5": "d",
"prop6": "e",
"prop7": "f"
}
}
return fields;
}
和我的控制器方法...
<HttpPost()>
Function Member(applicantModel As ApplicantModels, buttonText as String, isDeleted as String) As ActionResult
//do some stuff with the data
Return View(applicantModel)
End Function
當我在控制器內部突破,我對MyClass1的對象正確映射,但prop4數據不被映射。我已經嘗試了來自其他線程的幾個想法,我已經嘗試過JSON.Stringify()JSON在發送Ajax調用之前。我完全沒有想法。會喜歡一些幫助!
在此先感謝!
你可以發佈你如何實例化你的有效載荷並通過電線發送它。 –
用更多代碼更新 –
我不認爲你需要在getAppData函數中引用屬性名稱,值是yes,但不是prop。 –