如何呈现一个布尔值在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)
该JSON布尔必须小写。
因此,试试这个(并确保n要具有//
就行了评论):
var myViewModel = {
isFollowing: @Model.IsFollowing.ToString().ToLower()
};
或(注意:您需要使用命名空间System.Xml
):
var myViewModel = {
isFollowing: @XmlConvert.ToString(Model.IsFollowing)
};
由于搜索把我带到这里:在ASP.NET核心, IJsonHelper
没有一个Encode()
方法。 相反,使用Serialize()
例如:
isFollowing: @Json.Serialize(Model.IsFollowing)
var myViewModel = {
isFollowing: '@(Model.IsFollowing)' == "True";
};
为什么True
,而不是true
你问...问的好:
为什么Boolean.ToString输出“真”,而不是“真”
这里还有一个值得考虑的选择,使用! 转换为Boolean。
isFollowing: !!(@Model.IsFollowing ? 1 : 0)
这将产生在客户端执行以下操作,用1被转换成真实和0至假。
isFollowing: !!(1) -- or !!(0)