JSON编码格式化程序函数名称

时间:2011-06-01 08:15:21

标签: javascript jqgrid json

我正在使用jqgrid,我在服务器上创建列定义作为动态对象,并使用Json.Encode序列化它们:

html.Raw(System.Web.Helpers.Json.Encode(ColumnDefinition);

我在应用自定义格式化程序时遇到问题,因为我的序列化列定义是:

{"name":"Icon","index":"Icon","hidden":false,"formatter":"iconFormatter","unformat":{}}

问题在于引用,它们被添加到所有键和值以尊重JSON规范,而 iconFormatter 周围的问题在我的情况下是问题,因为我希望它是我的函数。 对此有一个简单的解决方案吗?

1 个答案:

答案 0 :(得分:1)

在我看来,你有与here描述的相同或接近的问题。您必须将formatter属性的字符串值替换为函数引用。务实的方法是搜索像"iconFormatter"这样的字符串(搜索你使用的所有自定义格式化程序)并将其替换为相应的函数引用。

更新:如果您要在列定义中使用template属性(请参阅here),您将以另一种方式解决问题。此外,您的代码将更短,更清晰,更易读。