方法一:后台直接添加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"])",