如何在 cshtml 文件中将布尔值呈现给 JavaScript 变量?
目前这显示了一个语法错误:
<script type="text/javascript" >
var myViewModel = {
isFollowing: @Model.IsFollowing // This is a C# bool
};
</script>
如何在 cshtml 文件中将布尔值呈现给 JavaScript 变量?
目前这显示了一个语法错误:
<script type="text/javascript" >
var myViewModel = {
isFollowing: @Model.IsFollowing // This is a C# bool
};
</script>
您可能还想尝试:
isFollowing: '@(Model.IsFollowing)' === '@true'
更好的方法是使用:
isFollowing: @Json.Encode(Model.IsFollowing)
因为搜索将我带到这里:在 ASP.NET Core 中,IJsonHelper
没有Encode()
方法。相反,使用Serialize()
. 例如:
isFollowing: @Json.Serialize(Model.IsFollowing)
JSON 布尔值必须是小写的。
因此,试试这个(并确保没有//
注释就行):
var myViewModel = {
isFollowing: @Model.IsFollowing.ToString().ToLower()
};
或者(注意:您需要使用命名空间System.Xml
):
var myViewModel = {
isFollowing: @XmlConvert.ToString(Model.IsFollowing)
};
var myViewModel = {
isFollowing: '@(Model.IsFollowing)' == "True";
};
为什么True
而不是true
你问......好问题:
为什么 Boolean.ToString 输出“真”而不是“真”
一个更容易阅读的解决方案是这样做:
isFollowing: @(Model.IsFollowing ? "true" : "false")