在我的网络应用程序中,我从服务器发送一些字符串,我在我的JS中使用它们
var Texts = {
FillAllFieldsError: '@Texts.FillAllFieldsError',
PasswordChangeSuccess: '@Texts.PasswordChangeSuccess'
}
来自服务器的字符串有一些特殊字符,如“Ø,Æ”等。它们会变成HTML代码“forespø rsel”。
有人知道怎么解决吗?我正在使用utf-8编码
<meta charset="utf-8" />
答案 0 :(得分:1)
我用过这个
@Html.Raw(Json.Encode(Texts.FillAllFieldsError))
它有效。
答案 1 :(得分:1)
使用@Html.Raw()
是正确的方法。
答案 2 :(得分:0)
在项目中加入System.Web
以使用HttpUtility.HtmlDecode
(MSDN)解码HTML编码的字符串。
答案 3 :(得分:0)
这是做你想做的最安全的方式:
var Texts = @Html.Raw(JsonConvert.SerializeObject(new {
Texts.FillAllFieldsError,
Texts.PasswordChangeSuccess
});
^如果需要指定要包含的属性
,请使用anon对象或使用类似的扩展方法:
using Newtonsoft.Json;
public static class JavascriptExtensions {
public static IHtmlString AsJavascript<T>(this T value) where T: class{
return MvcHtmlString.Create(JsonConvert.SerializeObject(value));
}
}
然后在你看来你可以这样做:
var Texts @Texts.AsJavascript();