我在html5页面中添加json值作为数据属性时遇到问题。
我们在asp.net mvc 2.0网站上使用spark视图引擎(v1.5)。
以下观看代码:
<a href='${Url.Action("edit", new { id = vehicle.VehicleId })}' title='Bewerken' class='dialog dialog-edit' data-dialogoptions='{"beforeOpen":"initAlarmZoneForm"}'><span class="silk-icon silk-icon-page-edit"></span></a>
呈现为:
<a href="/Alarm/AlarmZone/edit/4" title="Bewerken" class="dialog dialog-edit" data-dialogoptions="{"beforeOpen":"initAlarmZoneForm"}"><span class="silk-icon silk-icon-page-edit"></span></a>
请注意数据对话框中的双引号
在data-dialogoptions属性中生成有效的json-string需要单引号。
是否有人知道导致此行为的原因以及我如何更改或解决此问题?
答案 0 :(得分:2)
虽然这更像是一种解决方法而不是一种答案,但实际上并不需要获得单引号的火花。您可以使用"
似乎正确解析的JSON.parse
转义字符。
Here's a really basic example of it running.
由于Spark视图引擎中的bug/feature,您似乎看到了这种行为。
从版本1.6开始,此“功能”已“修复”。 Spark现在应该正确保留单/双引号。