我编码一个MVC 5
互联网应用程序,我有关于一个问题,序列化ViewModel
属性添加到JSON object
:如何将ViewModels属性设置为JSON对象?
下面是一个例子ViewModel
:
public class TestViewModel
{
public int id { get; set; }
public string name { get; set; }
public string exampleValue { get; set; }
}
如果我有一个Create View
,怎么能我serialize
exampleValue
财产是一个JSON object
,这样,当[HttpPost]
Create ActionResult
收到对象时,exampleValue
是一个JSON object
?
我希望能够在ViewModel
与ModelState.IsValid
代码执行验证,然后返回ViewModel
回View
如果ViewModel
不处于有效状态,就像任何其他[HttpPost]
功能。
我写了下面的代码:
$.ajax({
type: "POST",
async: true,
url: "https://**url**/Create",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(template),
success: function (data) { },
error: function (data) { }
});
然而,[HttpPost]
Create ActionResult
甚至没有收到ViewModel
。我认为这与[ValidateAntiForgeryToken]
有关。
是否有人可以帮我正确设置exampleValue
属性是JSON object
,使得对象可以被验证,然后返回到View
如果没有处于有效状态?如果单个财产无法序列化到JSON object
,是否可以使用ModelBinding
,以便整个ViewModel
发布为JSON object
?
你可以发布你通过Ajax发送模板对象的例子吗? –