我正在尝试从ViewBag接收bool值。
但问题是要获得我正在使用的价值:
var test = '@ViewBag.Test'
这样,值将为'True'
或'False'
(字符串)。对于cource,我可以使用像if (test == 'True')
这样的东西但是,有没有办法直接从ViewBag bool值获取,或者至少转换它?
修改
我需要在javascript部分获取ViewBag值。
答案 0 :(得分:4)
在控制器代码中
ViewBag.Test = true;
在视图代码中
var test=@(ViewBag.Test.ToString().ToLower());
console.log(test);
现在变量test的数据类型是bool。所以你可以使用:
if(test)
alert('true');
else
alert('false')
答案 1 :(得分:3)
如果控制器中的值为bool
,请使用cshtml页面
bool test='@ViewBag.Test';
由于viewbag
不需要投放,我认为当您在bool
变量中分配值时,它会在您的视图(cshtml)页面中为您提供bool
值
答案 2 :(得分:0)
您只需删除引号var test = @ViewBag.Test
答案 3 :(得分:0)
只需要:
<script>
var test = '@ViewBag.Test';
if(test)
{console.log(test);}
else
{console.log(test);};
</script>
答案 4 :(得分:0)
您可以使用拆箱:
@((bool)(ViewBag.Test??false))