我想从一个比较布尔值Viewbag
在JavaScript。 所以刚开始我尝试这样做:
if (@Viewbag.MyBoolValue)
do_sth();
但后来我在喜欢的控制台错误: Value False/True is not declared
(不完全)。
所以我尝试这样做:
@{
string myBool = ((bool)Viewbag.MyBoolValue) ? "true" : "false";
}
并在javascript:
if (@myBool == "true")
do_sth();
但它不工作过。 我怎样才能使它发挥作用? 任何帮助,将不胜感激。
你有什么应该工作,假设从ViewBag的值是一个类型的JavaScript可以理解的。
但是请注意,你的第一个例子中很可能没有工作,因为布尔值在JavaScript和大写的C#小写。 考虑到这一点,试试这个:
var myBoolValue = @Viewbag.MyBoolValue.ToString().ToLower();
if (myBoolValue)
do_sth();
下面将创建vailable从viewbag值一个javascript
<script>
var myBoolInJs = @Viewbag.MyBoolValue;
if(myBoolInJs == true)
do_sth();
</script>
var myBoolVal = @((ViewBag.MyBoolValue ?? false).ToString().ToLower());
要么
var myBoolVal = '@(ViewBag.MyBoolValue)'==='@true';
要么
var myBoolVal = @(Json.Encode(ViewBag.MyBoolValue ?? false));
这将工作。
@{
string myBool = Viewbag.MyBoolValue.ToString().ToLower();
}
if (@myBool)
do_sth();
insted的真假用0和1的控制器,在剃刀页面顶部
@{
var isSomething= Viewbag.MyBoolValue;
}
后来下来
if (@isSomething== 0)