如何更新模型字段而不在Javascript中显式调用该字段

时间:2011-09-02 18:45:54

标签: javascript asp.net-mvc-3

在我的MVC3应用程序中,我有一个Json编码的视图模型,所以我可以在JavaScript中操作它。

所以我想说我有以下代码:

var model=@Html.Raw(Json.Encode(Model));

目前,model.Name的值为“Name”。

我现在要做的是创建另一个JavaScript对象“obj”,它有一个名为“Value”的字段。当你改变obj.Value时,它也改变了model.Name。

所以我想要这样的东西:

var obj=new Object();
obj.Value=model.Name;

现在,如果我更改obj.Value的值,它也不会更改model.Name。我希望这种情况发生,我不确定如何在JavaScript中完成它。我该如何实现呢?

1 个答案:

答案 0 :(得分:0)

为什么不将名称放在隐藏的输入字段中。使用您通常的方式选择的任何JavaScript更改值。然后,当回发表单时,您可以绑定到控制器操作中的名称值,并将模型名称设置为服务器端。

你正在尝试的是不必要的复杂。

如果你真的想让它工作 - 那么在提交时将整个JSON字符串放在一个隐藏的输入字段中。然后再次在控制器操作中将JSON绑定为字符串,并在服务器端反序列化以重建模型。