【问题标题】:JavaScriptSerializer with Razor and ASPX engine带有 Razor 和 ASPX 引擎的 JavaScriptSerializer
【发布时间】: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;}]

【问题讨论】:

    标签: c# asp.net json razor jsonserializer


    【解决方案1】:

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

    例如:

    @Html.Raw(JsonConverter.ConvertDataTabletoString())
    

    【讨论】:

    • 嗨,伙计,谢谢它的工作......但是还有其他方法可以做到这一点吗?
    • 对于 Razor 页面,我还没有找到更好的方法。请记住,Razor 是为 HTML 页面设计的,因此打印出 HTML 转义字符实际上很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多