在cshtml中将bool值转换为bool

时间:2016-09-15 03:47:06

标签: c# angularjs asp.net-mvc razor casting

我从cshtml文件中的服务器代码接收此值。它是一个布尔字段,我得到布尔值。

Order="@Model.OrderModel.IsToday"

我试图这样做,但不幸的是,当我将鼠标悬停在ToJson上时,它会说是一个字符串。

Order="@Model.OrderModel.IsToday.ToJson()"

如何将此作为bool发送到javascript?我需要显式转换,但我猜使用bool的语法是错误的。

修改

当我在javascript中使用此Order="@Model.OrderModel.IsToday"时,它表示未定义,吓坏了!

也尝试了这个

Order="@Json.Encode(Model.OrderModel.IsToday)"

仍然以字符串形式发送。我不想将其作为字符串发送为布尔值

2 个答案:

答案 0 :(得分:1)

你在JavaScript中得到字符串值,因为你在变量中使用引号,所以你里面的任何东西都变成了一个字符串。

请改为尝试:

Order = @Model.OrderModel.IsToday.ToString().ToLower()

这里将布尔值转换为字符串,然后将其转换为小写。你需要它,因为ToString会给你TrueFalse,你需要布尔值为truefalse

答案 1 :(得分:0)

将其作为字符串传递并在Javascript中转换为布尔值:

var myBool = Boolean(@Model.OrderModel.IsToday.ToString().ToLower());

请参阅here