这是我的模特
模型
public class XPersonContent
{
public string PersonType { get; set; }
public int PersonId { get; set; }
}
public class XViewModel
{
public List<XPersonContent> XPersonList { get; set; }
public string XContent { get; set; }
public sbyte CommentEnabled { get; set; }
}
控制器
[HttpPost]
public JsonResult AddXViewModel ( XViewModel testModel)
{
}
使用提交给控制器的MVC的表单
function submitForm() {
var xpersonContent=[Object { Id=2934109, Type="us"}, Object { Id=2913974, Type="us"}, Object {Id=2912159, Type="us"}]
var xContent= "test";
var CommentEnabled= false;
var dataString = {
XPersonList:xpersonContent,
XContent: xContent,
CommentEnabled: true
};
$.ajax({
type: "POST",
url: "/AjaxPostDemo/AddXViewModel",
data: JSON.stringify(dataString ),
cache: false,
dataType: "json",
success: function (data) {
$("#ajaxPostMessage").empty();
$("#ajaxPostMessage").html(data.Message + " : " + data.Date);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
}
> Question
如何构建对象XViewModel以传递回控制器。我有三个不同的变量 我试过这样做 dataString = { XPersonList:xpersonContent, XContent:xContent, CommentEnabled:是的 }; 但它不起作用..
答案 0 :(得分:0)
我不得不补充一下 contentType:“application / json; charset = utf-8”, 在我的ajax请求中 SMH
答案 1 :(得分:0)
尝试更改此
var xpersonContent=[{"XPersonContent": {"Id": 2934109, "Type": "us"}}, {"XPersonContent": {"Id": 2913974, "Type": "us"}}, {"XPersonContent": {"Id": 2912159, "Type": "us"}}]