C# Javascript变量包含asp.net mvc代码而不是值
我有以下声明:C# Javascript变量包含asp.net mvc代码而不是值,c#,javascript,asp.net-mvc,C#,Javascript,Asp.net Mvc,我有以下声明: <script type="text/javascript"> @{ string area = ViewContext.RouteData.DataTokens["area"] != null ? ViewContext.RouteData.DataTokens["area"].ToString().ToLower() : st
<script type="text/javascript">
@{
string area = ViewContext.RouteData.DataTokens["area"] != null ?
ViewContext.RouteData.DataTokens["area"].ToString().ToLower() :
string.Empty;
}
var area = "@area";
</script>
@{
string area=ViewContext.RouteData.DataTokens[“area”]!=null?
ViewContext.RoutedData.DataTokens[“区域”].ToString().ToLower():
字符串。空;
}
var area=“@area”;
如果我在控制台中调用area
变量,我的Google Chrome显示如下:
“!=null?ViewContext.RoutedData.DataTokens[“area”].ToString().ToLower():”“”
这是C代码的一部分
错误在哪里?当您试图在脚本块中使用剃刀时,出现了一个问题 这里有一个惊人的答案: 所以你要么修改你的代码
@{
string area = ViewContext.RouteData.DataTokens["area"] != null ?
ViewContext.RouteData.DataTokens["area"].ToString().ToLower() :
string.Empty;
}
<script type="text/javascript">
var area = "@area";
</script>
@{
string area=ViewContext.RouteData.DataTokens[“area”]!=null?
ViewContext.RoutedData.DataTokens[“区域”].ToString().ToLower():
字符串。空;
}
var area=“@area”;
或者将代码包装在伪块中(或者@:如果您使用的是较新版本的MVC)
@{
string area=ViewContext.RouteData.DataTokens[“area”]!=null?
ViewContext.RoutedData.DataTokens[“区域”].ToString().ToLower():
字符串。空;
}
var area=“@area”;
<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>