を受け取るMVC関数へのjQuery AJAX呼び出しを介してJsonを返していますFolder
。MVC は一部のデータを正しく解析しますが、送り返したリストは正しく解析しません。
MVC
public class Folder : IValidate
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<SearchCriteria> SearchCriteria { get; set; }
}
public class SearchCriteria
{
public int FolderId { get; set; }
public int SettingsEntryID { get; set; }
public string SearchParameter { get; set; }
}
public ActionResult EditFolder(Folder folder)
{
service.EditFolder(folder);
return this.Json(Json(new { Success = true }));
}
Javascript
var folder = {
Id: $("#groupID").val(),
Name: $("#groupName").val(),
SearchCriteria: []
};
$(".searchCriteria").each(function () {
folder.SearchCriteria.push(
{
FolderId: $("#groupID").val(),
SearchParameter: $(this).val(),
SettingsEntryID: $(this).attr("id").replace("searchCriteria", "")
});
});
$.ajax({
url: "/settings/editfolder/",
type: "POST",
dataType: "json",
data: folder,
traditional: true,
success: function (data) {
alert("wsaved");
}
});
folder
、この関数ではId
and で設定されますが、正しく設定されていませんName
。SearchCriteria
に設定されていnull
ます。コメントアウトするとtraditional: true
、リストが作成されますが、それぞれのすべての値SearchCriteria
は0
またはnull
です。
何か不足していますか?