jquery 如何从ViewBag中获取bool值?

azpvetkf  于 2022-11-22  发布在  jQuery
关注(0)|答案(5)|浏览(235)

我 正在 尝试 从 ViewBag 接收 bool 值 。
但 问题 是 , 为了 获得 价值 我 正在 使用 :

var test = '@ViewBag.Test'

中 的 每 一 个
在 这种 方式 下 , 值 将 是 'True''False' ( 字符 串 ) 。 当然 , 我 可以 使用 像 if (test == 'True') 这样 的 东西 , 但是 , 有 没有 办法 直接 从 ViewBag 获取 bool 值 , 或者 至少 转换 它 ?

    • 编辑 : * *

我 需要 在 javascript 部分 获取 ViewBag 值 。

lb3vh1jj

lb3vh1jj1#

您 可以 使用 取消 装箱 :

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

中 的 每 一 个
压缩 为 单行 , 处理 缺少 的 ViewBag 元素 。
空 合并 运算 符 返回 ViewBag 的 值 。 如果 " Test " 不 存在 , 则 返回 Test 或 false 。 最 后 , 值 为 类型 转换 。

zzoitvuj

zzoitvuj2#

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

    • 视图 中 代码 为 * *
var test=@(ViewBag.Test.ToString().ToLower());
console.log(test);

中 的 每 一 个
现在 变量 test 的 数据 类型 是 bool , 所以 你 可以 使用 :

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

格式

jckbn6z7

jckbn6z73#

如果控制器中的值为bool,则使用cshtml页面

bool test='@ViewBag.Test';

由于viewbag不需要转换,我认为当您在bool变量中赋值时,它会在视图(cshtml)页面中为您提供bool

6psbrbz9

6psbrbz94#

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

wbgh16ku

wbgh16ku5#

只需要:

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

相关问题