控制器动作将不绑定JSON视图模型 [英] Controller Action won't bind JSON ViewModel

查看:144
本文介绍了控制器动作将不绑定JSON视图模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我每次张贴到我的行动,我的视图模型不为空,但所有的值总是里面的。

Every time I post to my Action, my ViewModel is not null, but all the values inside always are.

在那里我有的console.log ,我可以看到完美的JSON输出到控制台。

Where I have console.log, I can see perfect JSON being output to the console.

任何想法?

动作:

public ActionResult Add(MyViewModel model)
{
//stuff
}

JS:

<script type="text/javascript">
var model = @Html.Raw(Viewbag.MyJSON);

var viewModelDetails = ko.mapping.fromJS(model);

this.addData = function() {
var data = ko.toJSON(viewModelDetails);
console.log(data);
$.post("/user/add", data, function(result){
//stuff
});
}
</script>

示范

public  MyViewModel()
{
Game Game{get;set;}
}

编辑:

WOW,我觉得哑巴,我不得不私人组,因此多数民众赞成它没有得到约束。

WOW, I feel dumb, I had private set, so thats what it wasn't getting bound.

推荐答案

我已经遇到过这样的问题before.I分享你我所做出的解决方案。

I have faced issues like this before.I share you the solution what i made.

请象下面这样的变化

var data = ko.toJS(viewModelDetails);

注意:这个工作对那些没有原生JSON序列化老的浏览器(如IE 7或更早的版本),还必须参考json2.js库

我知道这将工作完美。如果它的解决您的问题将其标记为答案

I know this will work perfect.If it solves your problem mark it as answer

如果它的对你有用然后点击上行

请告诉我在code中的问题: -

var data = ko.toJSON(viewModelDetails);

您需要解析数据再次为JSON,那么你可以使用它,否则会出现错误。

You need to parse data again as json , then you can use it, else it will get error.

这篇关于控制器动作将不绑定JSON视图模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆