方法一:后台直接添加htmlstring字符串,给到前台:
1-后台生成html字符串的方法一般是:
this.ViewData.Add("CURRENCY_SYMBOLS", new HtmlString(JsonHelper.ConvertJsonToStr(jObjectCurrencySymbol)).Value);
2-前台显示:
window["Currency"] = { "Symbols" :ViewData["CURRENCY_SYMBOLS"], };
方法二:前台直接调用序列化方法结合Html.Raw显示到JS中:
window["UserTimeZone"] = @Html.Raw(JsonHelper.ConvertJsonToStr(ViewData["TimeZone"]));
备注:有时候前台显示还是有编码字符,未按照html处理编码字符,我们可以将ViewData["CURRENCY_SYMBOLS"] 改为:@Html.Raw(ViewData["CURRENCY_SYMBOLS"])
@Html.Raw的功能也是让字符串按照Html编码方式显示处理(推荐):
window["Currency"] = { "Symbols" :@Html.Raw(ViewData["CURRENCY_SYMBOLS"]), };
错误示例:"{"ID":103,"Key":"Asia/Shanghai","Hour":0,"Minute":0,"Name":" 北京"}" 这样的字符串,是因为使用了引号:
"Symbols" :"@Html.Raw(ViewData["CURRENCY_SYMBOLS"])",