我正在 JavaScript 中获取模型数据,它正在工作,但问题是如果有任何单引号或任何其他特殊字符,那么它就会被转换为其他格式。我的代码如下:
function initialize() {
var myName = '@Model.Name';
alert(myName);
}
最佳答案
正确的方法是使用 JSON 序列化器,就像这样:
function initialize() {
var myName = @Html.Raw(Json.Encode(Model.Name));
alert(myName);
}
现在,无论 Model.Name
字符串包含多么危险的字符,它都会被正确编码为 JavaScript。此外,如果您在 Visual Studio 中看到一些红色曲线,表明存在一些错误,您可以安全地忽略 Razor 语法荧光笔中的这些错误,因为它无法识别这个完全有效的代码。只需运行您的应用程序,它就会工作得非常好。
关于c# - 在 asp.net mvc 中的 javascript block 中获取特殊字符时进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20870339/