如何在视图上从ViewBag获得bool值

本文关键字:ViewBag 获得 bool 视图 | 更新日期: 2023-09-27 18:08:34

我正在尝试从ViewBag接收bool值。

但问题是,接收值我使用:

var test = '@ViewBag.Test'

这样,值将是'True''False' (string)。当然,我可以使用像if (test == 'True')的东西,但是,有没有办法从ViewBag直接获得bool值,或者至少转换它?

编辑:

我需要得到ViewBag值在javascript部分。

如何在视图上从ViewBag获得bool值

您可以使用unboxing:

var test = @((bool)(ViewBag.Test??false))

浓缩成单行,处理丢失的ViewBag元素。
Null合并操作符返回ViewBag的值。测试或false如果"Test"不存在。最后进行类型转换。

在控制器代码中为ViewBag.Test = true;

View code为

var test=@(ViewBag.Test.ToString().ToLower());
console.log(test);

现在变量test的数据类型是bool类型。所以你可以使用:

if(test)
    alert('true');
else 
    alert('false')

如果控制器的值是bool,则使用cshtml page

bool test='@ViewBag.Test';

作为viewbag不需要铸造我认为当你分配你的值在bool变量它给你bool值在你的视图(cshtml)页面

您只需删除引号var test = @ViewBag.Test

只需:

<script>
   var test = '@ViewBag.Test';
   if(test)
       {console.log(test);}
   else
       {console.log(test);};
</script>