0

我想在我的 MVC 应用程序中使用 dForm。当我尝试从以下 json 字符串构建表单时,没关系。

 var formdata = {
        'action': 'index.html',
        'method': 'get',
        'elements':
                [
                 {
                  "type":"select",
                  "name":"Name",
                  "caption":"Name",
                  "options":"first":{"html":"first","class":"active"},
                            "second":{"html":"second","class":"active"},
                  "selected":null
                 } 
               ]
  };

但是当我将生成的部分用于以下元素时:

 var elements = {
                "action": "index.html",
                "method": "get",
                "elements":
                        [
                             $('#jqgrid').jqGrid('getGridParam', 'userData')
                        ]
            };
            $('#myform').buildForm(elements);

我从 dform 收到以下错误:

    uncaught exception: No element type given! Must always exist.

但我确信“元素”标签与我在第一个示例中发布的相同。

我发现在萤火虫中,我可以看到 jqGrid 的获取字符串 userData,格式如下:

"userdata":"{\"type\":\"select\",\"name\":\"Name\",\"caption\":\"Name\",\"options\":{\"first\":\"first\" .....

我从 JObject 生成 userData。也许有问题。我试图替换转义字符 '\' 但没有成功。

4

1 回答 1

0

这种格式看起来不太对。它可能正在尝试转换

{ "userdata" : "JSON String" }

据我所知,您可能必须做:

JSON.parse($('#jqgrid').jqGrid('getGridParam', 'userData').userdata);

如果还是不行,请查看Google Group,在那里帮助您可能更容易。

于 2012-06-04T00:24:42.383 回答