[英]How do I utilize the same variable in both javascript code and asp.net razor mvc code?
[英]Javascript variable contains asp.net mvc razor code instead of value
我有以下声明:
<script type="text/javascript">
@{
string area = ViewContext.RouteData.DataTokens["area"] != null ?
ViewContext.RouteData.DataTokens["area"].ToString().ToLower() :
string.Empty;
}
var area = "@area";
</script>
我的Google Chrome浏览器(如果我在控制台中调用area
变量)显示如下:
" != null ? ViewContext.RouteData.DataTokens["area"].ToString().ToLower() : """
这是C#代码的一部分...
错误在哪里?
当您尝试在脚本块中使用剃刀时出现问题。
这个问题的答案令人惊讶: Razor语法和Javascript
因此,您应该将代码修改为
@{
string area = ViewContext.RouteData.DataTokens["area"] != null ?
ViewContext.RouteData.DataTokens["area"].ToString().ToLower() :
string.Empty;
}
<script type="text/javascript">
var area = "@area";
</script>
或将代码包装在伪块中(或@:如果您使用的是较新版本的MVC)
<script type="text/javascript">
@{
<text> string area = ViewContext.RouteData.DataTokens["area"] != null ?
ViewContext.RouteData.DataTokens["area"].ToString().ToLower() :
string.Empty;</text>
}
var area = "@area";
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.