小编Ova*_*one的帖子

MVC4 ModelState属性名称为JSON或Array

我正在使用一个复杂的对象图,序列化为JSON,MVC4/jQuery/Sammy/Rivets用于SPA功能.

我有一个对象图,在序列化为JSON时看起来有点像这样(显然是模拟的):

model = 
    { 
        Name: "Me",
        Age: 22,
        Hobbies: 
            [ 
                { Name: "Biking", IsActive: true },
                { Name: "Programming", IsActive: true } 
            ]
    }
Run Code Online (Sandbox Code Playgroud)

一切都运行良好,直到我需要Unobtrusive验证,因为我的爱好在SlickGrid中,我自己管理所有数据.为了解决这个问题,我在我的模型旁边使用我的JSON返回我的ModelState.

return JSON(new { model = model, modelState = this.ModelState });
Run Code Online (Sandbox Code Playgroud)

从那里我打算遍历modelState并使用一些自定义函数将错误分配到正确的位置,但是有一个问题.

ModelState看起来像这样:

"Name",
"Age",
"Hobbies[0].Name",
"Hobbies[0].IsActive",
"Hobbies[1].Name",
"Hobbies[1].IsActive"
Run Code Online (Sandbox Code Playgroud)

我需要将[0]分成一个对象,将[1]分成他们自己的对象,这样我就能顺利得到这些值.当我开始考虑第三级复杂对象数组时,这让我感到困惑.

解:

var ModelStateConverter = function ($, module) {
    module = module || {};

    // Convert The ModelState form style object to a standard JS object structure.
    module.toObject = function (modelState) {
        var ModelState = {}; …
Run Code Online (Sandbox Code Playgroud)

javascript arrays asp.net-mvc-4

5
推荐指数
1
解决办法
547
查看次数

标签 统计

arrays ×1

asp.net-mvc-4 ×1

javascript ×1