带有 Razor 和 ASPX 引擎的 JavaScriptSerializer
Posted
技术标签:
【中文标题】带有 Razor 和 ASPX 引擎的 JavaScriptSerializer【英文标题】:JavaScriptSerializer with Razor and ASPX engine 【发布时间】:2014-04-14 12:58:53 【问题描述】:我正在使用 javascriptSerializer
序列化一个列表对象并将结果分配给一个 javascript 对象,但是当我使用 aspx 引擎时,json 字符串中的引号被认为是双引号并且工作正常,但是当使用 razor 引擎时,双引号引号打印为 "
并通过异常打印。
如何解决?
我的示例代码。
ASPX:
var data = <%=JsonConverter.ConvertDataTabletoString()%>
var data = ["No":"1","Name":"John","No":"2","Name":"Smith", "No":"3","Name":"Tomps","No":"4","Name":"Hanar","No":"5","Name":"Reek"]`
剃须刀:
var data = @JsonConverter.ConvertDataTabletoString()
var data = ["No":1,"Name":"Heer","No":1,"Name":"Heer","No":1,"Name":"Heer"]
【问题讨论】:
【参考方案1】:尝试使用 html.Raw() 在 Razor 视图中打印出代码。这将阻止代码被 HTML 转义。
例如:
@Html.Raw(JsonConverter.ConvertDataTabletoString())
【讨论】:
嗨,伙计,谢谢它的工作......但是还有其他方法可以做到这一点吗? 对于 Razor 页面,我还没有找到更好的方法。请记住,Razor 是为 HTML 页面设计的,因此打印出 HTML 转义字符实际上很有帮助。以上是关于带有 Razor 和 ASPX 引擎的 JavaScriptSerializer的主要内容,如果未能解决你的问题,请参考以下文章
asp.net mvc3.0中视图引擎razor和ASPX可以交互使用吗
如何使用 ? : 带有 Razor 和内联代码块的 if 语句