带有 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 = [&quot;No&quot;:1,&quot;Name&quot;:&quot;Heer&quot;,&quot;No&quot;:1,&quot;Name&quot;:&quot;Heer&quot;,&quot;No&quot;:1,&quot;Name&quot;:&quot;Heer&quot;]

【问题讨论】:

【参考方案1】:

尝试使用 html.Raw() 在 Razor 视图中打印出代码。这将阻止代码被 HTML 转义。

例如:

@Html.Raw(JsonConverter.ConvertDataTabletoString())

【讨论】:

嗨,伙计,谢谢它的工作......但是还有其他方法可以做到这一点吗? 对于 Razor 页面,我还没有找到更好的方法。请记住,Razor 是为 HTML 页面设计的,因此打印出 HTML 转义字符实际上很有帮助。

以上是关于带有 Razor 和 ASPX 引擎的 JavaScriptSerializer的主要内容,如果未能解决你的问题,请参考以下文章

asp.net mvc3.0中视图引擎razor和ASPX可以交互使用吗

如何使用 ? : 带有 Razor 和内联代码块的 if 语句

aspx和razor的区别

008_视图

ASP.Net MVC开发基础学习笔记:三Razor视图引擎控制器与路由机制学习

MVC-Razor视图引擎及解决路径问题的三个方法