var openWos = @Model.MyMaintenanceDashboard.OpenWorkOrders;
为什么Visual Studio会说这是语法错误?它运行正常,但正确的语法是什么?
更新:OpenWos是一个javascript变量
答案 0 :(得分:0)
如果您要设置C#var
,正确的语法将在@
前面没有Model
,因为您已经在C#代码块中:
@{
var openWos = Model.MyMaintenanceDashboard.OpenWorkOrders;
}
修改强>
您已经澄清这是一个JavaScript变量。根本不应该有语法错误,因为这是有效的Razor。引用Stephen建议的值与您最初发布的代码之间存在明显差异。引用时,JavaScript变量的类型是一个字符串而不是数字。
例如,将其包含在页面中:
<script>
@{ int z = 10; }
var x = @z;
console.log(x);
console.log(typeof x);
var y = '@z';
console.log(y);
console.log(typeof y);
</script>
以下结果记录到控制台:
10
number
10
string
并且在任一实例中都没有使用变量@z
报告语法错误。
答案 1 :(得分:0)
如果这是一个javascript代码,那么你需要引用它,这样你就不会得到&#39;语法&#39;错误。
var openWos = '@Model.MyMaintenanceDashboard.OpenWorkOrders';
答案 2 :(得分:0)
我发现您可以通过添加零来解决此问题:
var openWos = @Model.MyMaintenanceDashboard.OpenWorkOrders + 0;