如何在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布尔值必须为小写。
因此,请尝试以下操作(并确保//
在行上添加nto注释):
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输出“ True”而不是“ true”
这是另一个可以考虑的选择,使用!! 转换为布尔值。
isFollowing: !!(@Model.IsFollowing ? 1 : 0)
这将在客户端生成以下内容,其中1转换为true,0转换为false。
isFollowing: !!(1) -- or !!(0)
一个更容易阅读的解决方案是这样做:
isFollowing: @(Model.IsFollowing ? "true" : "false")
本文地址:http://javascript.askforanswer.com/shiyongrazorruhejiangbuerzhichengxiangeijavascriptbianliang.html
文章标签:asp.net-mvc , javascript , razor
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!
文章标签:asp.net-mvc , javascript , razor
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!
评论已关闭!