C# 在cshtml中将bool值强制转换为bool
我从cshtml文件中的服务器代码接收这个值。这是一个布尔字段,我得到布尔值C# 在cshtml中将bool值强制转换为bool,c#,angularjs,asp.net-mvc,razor,casting,C#,Angularjs,Asp.net Mvc,Razor,Casting,我从cshtml文件中的服务器代码接收这个值。这是一个布尔字段,我得到布尔值 Order="@Model.OrderModel.IsToday" 我试图这样做,但不幸的是,当我将鼠标悬停在ToJson上时,它会显示一个字符串 Order="@Model.OrderModel.IsToday.ToJson()" 如何将其作为bool发送到javascript?我需要显式强制转换,但我想我使用bool的语法是错误的 编辑 当我在javascript中使用这个Order=“@Model.Order
Order="@Model.OrderModel.IsToday"
我试图这样做,但不幸的是,当我将鼠标悬停在ToJson上时,它会显示一个字符串
Order="@Model.OrderModel.IsToday.ToJson()"
如何将其作为bool发送到javascript?我需要显式强制转换,但我想我使用bool的语法是错误的
编辑
当我在javascript中使用这个Order=“@Model.OrderModel.IsToday”
时,它说的是未定义的,奇怪的
我也试过这个
Order="@Json.Encode(Model.OrderModel.IsToday)"
仍然作为字符串发送。我不想将其作为字符串发送,因为它是一个布尔值,您可以在JavaScript中获得字符串值,因为您在变量中使用引号,所以您的任何内容都将成为字符串 请尝试以下方法:
Order = @Model.OrderModel.IsToday.ToString().ToLower()
这里将布尔值转换为字符串,然后将其转换为小写。您需要它,因为
ToString
将为您提供True
或False
,并且您需要布尔值为True
或False
将其作为字符串传递并在Javascript中转换为布尔值:
var myBool = Boolean(@Model.OrderModel.IsToday.ToString().ToLower());
请参见能否为代码提供更多上下文?
Order
是JavaScript代码的一部分,而您正试图从服务器端分配一个值吗?@dotnetom:这很简单,您不需要了解,也不需要为我所追求的内容提供解决方案。它将布尔值作为“true”发送,我希望它作为布尔值发送,即trueAs@dotnetom说,你到底想做什么?胡乱猜测->我遇到过这样的问题,C#在ToString()
中将bool显示为“True”,这在JavaScript中实际上并没有映射到True
,所以我需要调用.ToLower()
或类似的函数。可能是因为你把它放在了一个字符串中@mmcrae:我已经将它作为字符串从cshtml文件发送到javascript文件。这是一个布尔字段。因此,我希望以布尔值形式发送。你至少懂这个外行英语吗?不,我已经有了这个解决方案,但我的领导说它不应该作为字符串发送。在Javascript中,我确实喜欢ctrl.OrderToday=Order==='true',但他说这不是一个好主意或方法。我在把它作为布尔值发送之后。你能做到吗?看看这个,你写的不是一个好的练习,看看这篇文章如果IsToday
是一个bool
,那么为什么答案中的例子不适合你?i、 e.@Json.Encode(Model.IsToday)