由于某种原因,当尝试使用Razor语法将模型对象存储到JavaScript变量中时,出现语法错误。研究了谷歌之后,看来我应该能够做这样的事情。我在cshtml中使用脚本标记来执行此操作(我知道这是不好的做法,但我来得太晚了,因此出于一致性考虑,我正在这样做),这是代码。

Index.cshtml:

<script>
    var isAvailable = @Model.IsAvailable; // This gives me a syntax error
</script>


我有一个Model类,其布尔属性名为IsAvailable,并且试图将其存储在var isAvailable中,但Visual Studio不喜欢它。知道为什么吗?

最佳答案

默认情况下,MVC调用ToString(),该布尔值转换为字符串会产生大写的值(即True),其中JS布尔语法要求小写(即true)。尝试这个:

var isAvailable = @(Model.IsAvailable.ToString().ToLower());

关于javascript - 将MVC模型属性存储到JavaScript var对象语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38439111/

10-11 14:05