Joh*_*rne 4 .net html c# asp.net-mvc razorengine
@{
bool a = false;
}
<script>
var element = '<a href="www.testurl.com" + '?a=' + @(a)';
$('#anyElement').append(element);
</script>
Run Code Online (Sandbox Code Playgroud)
锚标记将具有 www.testurl.com?a=False 的 href
至少在 IE11 中,变量 a 将呈现为 False 而不是 false。这会导致 ECMAScript 错误,因为现在 JavaScript/ECMAScript 编译器认为 False 是未定义的变量。
为什么 RAZOR 不以小写形式呈现此变量?
Razor 只是使用ToString()你放在那里的任何东西的- 方法。在 a 的情况下bool,它将评估为True或False。为了规避这个问题,只需自己小写:
@{
bool a = false;
}
<script>
var element = '<a href="www.testurl.com" + '?a.ToString().ToLower()=' + @(a)';
$('#anyElement').append(element);
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2300 次 |
| 最近记录: |