【问题标题】:jqGrid: how to show and edit text containing \<ajqGrid:如何显示和编辑包含 \<a 的文本
【发布时间】:2011-07-03 07:11:11
【问题描述】:

如果列文本仅包含像\&lt;a 这样的字符,则\ 将显示在网格中。其余字符不可见。 在编辑模式下,此数据错误地显示为 \&lt;a&lt; td=""&gt;&lt;/a&lt;&gt; 如果使用内联编辑将\&lt;a 输入到单元格并保存,则屏幕中仅显示\

使用jqGrid 设置autoencode: true。 数据以 json 格式从服务器读取 ASP .NET 2 MVC 控制器,如

{"total":337,"page":3,"records":10094,"rows":[
{"id":"i88","cell":["\\\u003ca"] }
]
}

如何在 jqGrid 4.1.1 中显示和编辑像 \&lt;a 这样的文本?
如果我没记错的话,它适用于早期的 jqGrid 版本。可能是 Oleg 提出的 jqID 函数更改导致了这种回归。

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    我想,您只是忘了使用 jqGrid 选项 autoencode: true 。如果我使用它,我可以重现您描述的问题:请参阅 the demothis one

    更新:您当前的测试用例可以简化为the following demo,在colModel 中有formatter:null。如果您删除该属性,autoencode: true 将适用于该列。

    【讨论】:

    • 非常感谢。我多次验证autoencode: true 存在。如果 autoencode: true 被删除 ASP.NET 异常:一个潜在的危险请求已被删除 ... 保存时发生。如果我自动编码:如果存在则为 true,则不会发生此异常,但我会得到此部分显示。如果您有兴趣,我可以为您创建测试用例。
    • @Andrus:好的!可以用来复现问题的demo就好了。
    • 谢谢。我通过电子邮件向您发送了测试用例。
    • @Andrus:您的列模型 (colModel) 包含以下属性 "align":null, "classes":null, "formatter":null, "edittype":null, "editoptions":{"value":null,"maxlength":240}, "formatoptions":null,看起来像垃圾。我不认为 jqGrid 可以正确解释这些值。
    • @Andrus:最关键的是"formatter":null 设置,它看起来像虚拟的自定义格式化程序。对于具有自定义格式化程序的列,将不会使用选项 autoencode: true,并且您遇到了所描述的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 2022-01-26
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多