Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MVC-将ViewData传递为布尔值_Javascript_Asp.net_Asp.net Mvc - Fatal编程技术网

Javascript MVC-将ViewData传递为布尔值

Javascript MVC-将ViewData传递为布尔值,javascript,asp.net,asp.net-mvc,Javascript,Asp.net,Asp.net Mvc,当使用ViewData将布尔值从控制器传递到视图时,如何在javascript中将其作为布尔值检索? 例如: 控制器: ViewData["login"] = true; 查看 <script type="text/javascript"> var login = <%= (bool)ViewData["Login"] %>; /// this doesn't work, throw javascript error; </script> v

当使用ViewData将布尔值从控制器传递到视图时,如何在javascript中将其作为布尔值检索? 例如:

控制器:

ViewData["login"] = true;
查看

    <script type="text/javascript">
var login = <%= (bool)ViewData["Login"] %>;   /// this doesn't work, throw javascript error;
</script>

var login=;//这不起作用,抛出javascript错误;
是的,我当然可以

  <script type="text/javascript">
var login = '<%= ViewData["Login"] %>';   /// now login is a string 'True'
</script>

变量登录=“”;///现在登录是一个字符串“True”

但如果可能的话,我宁愿将登录对象保留为布尔值而不是字符串。

我相信您可以做到这一点:

<script type="text/javascript"> 
    var login = new Boolean(<%= (bool)ViewData["Login"] ? "true" : "false" %>);
</script> 

var login=new Boolean();

编辑:事实上,我的第一种方法是行不通的。传递给Boolean()的真/假值必须是小写,才能起作用。

只需删除单引号即可

<script type="text/javascript">
    var login = <%= (bool)ViewData["Login"] ? "true" : "false" %>;
</script>
将在浏览器中解析为布尔值

var login = true;