将 JavaScript 对象转换为控制器的模型
Cast a javascript object into a model of the controller
>我在js文件中创建了一个对象:
function Shape(name, color, count) {
this.Name = name;
this.Color = color;
this.Count = count;
}
var apples = new Shape('apple', 'green', 5);
我想通过load
'函数将这个"类"传递到控制器中,所以我写道:
$('#myDiv').load(url, { 'Shape': apples });
url
是控制器中函数的 url:
function GetShape(shape as ShapeModel) as actionResult
End Function
虽然ShapeModel
是:
Class ShapeModel
Public Property Name As String
Public Property Color As String
Public Property Count As Integer
Public Property IsHot As Boolean
End Class
该函数由 load 函数调用,但类的参数等于零。
我想将js文件(Shape
)中的类转换为控制器(ShapeModel
)中上述函数(GetShape
)中的类。
这些类具有相同的属性,除了一个属性 (IsHot
)。
我该怎么做?
我尝试将 js 的类作为 JSON.stringify 发送,然后在控制器中从给定字符串反序列化为 ShapeModel
类,但反序列化失败。
最佳解决方案是将其作为一个类发送,而不是将其字符串化。
任何帮助表示赞赏!
我相信
你的问题在于你如何在jQuery load
调用中传递参数。 您正在使用 Shape
属性将Shape
对象包装在另一个对象中。 相反,只需将Shape
对象直接作为数据传递即可。
$('#myDiv').load(url, apples);
我认为 MVC 只支持从正文绑定单个参数,因此您不需要指定参数名称的内容。
相关文章:
- 将不在模型中的数据返回到mvc控制器
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- 模型数据未通过窗体传播到控制器ASP.NET MVC4
- 概念验证模型控制器调用正确的实例
- 如何从其他控制器更改角度模型值
- 如何在打开模型时动态加载控制器文件
- 如何从另一个控制器更新控制器的ng重复模型
- 控制器内部无法访问Angular js输入模型
- 将视图链接到模型并将视图链接至控制器的代码位于何处
- 一个控制器如何在 Ember .js 中观察任意控制器/模型上的事件
- Angularjs 绑定 2 指令将模型范围限定为父控制器模型
- 角度文件上传指令不更新控制器模型
- 在javascript中阅读弹簧控制器模型
- UI-select2 内部指令未更新控制器模型
- EmberJS:基于另一个属性重新加载控制器模型的最佳方法
- AngularJS -在指令中改变控制器模型
- 如何在javascript中获取springmvc控制器模型键值
- 使用controllerAs语法通过$watch指令更改父控制器模型
- 使用控制器模型向数组中添加对象
- 如何使用Ajax进程显示来自控制器/模型的数据