HttpSessionState返回HTML实体而不是字符
本文关键字:字符 实体 返回 HTML HttpSessionState | 更新日期: 2023-09-27 18:28:47
JavaScript函数试图使用存储在HttpSessionState中的字符串值;字符串值还包含瑞典语字符(例如,考虑单词MJÖLBY)。问题是特殊字符作为HTML实体ö
而不是真实字符出现。我试图通过使用编码来解决这个问题,但不幸的是,它没有帮助,编码的结果是未定义。是否知道如何传递Ö而不是实体代码ö
,以便在JavaScript中使用以及在浏览器上发布之前使用?
更新:在Session_Start()
中,字符串由Session["City"] = "MJÖLBY";
设置,然后在JavaScript中,值由var city = @Session["City"].ToString();
读取
@
参数执行HTML编码。所以Ö
被转换成它的HTML实体是正常的。如果您想实现这种用途,可以使用Html.Raw
方法。还要确保您对字符串进行了正确的JSON编码,否则如果会话中的值为例如MJÖ'LBY
:,则会得到非常糟糕的javascript
<script type="text/javascript">
var city = @Html.Raw(Json.Encode(Session["City"]));
</script>