MVC - 将ViewData作为布尔值传递

BeC*_*ool 7 javascript asp.net asp.net-mvc

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

控制器:

ViewData["login"] = true;
Run Code Online (Sandbox Code Playgroud)

视图

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

你当然可以做到

  <script type="text/javascript">
var login = '<%= ViewData["Login"] %>';   /// now login is a string 'True'
</script>
Run Code Online (Sandbox Code Playgroud)

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

Jan*_*Jan 5

只需删除单引号即可.

<script type="text/javascript">
    var login = <%= (bool)ViewData["Login"] ? "true" : "false" %>;
</script>
Run Code Online (Sandbox Code Playgroud)

这将导致:

var login = true;
Run Code Online (Sandbox Code Playgroud)

哪个将在浏览器中解析为布尔值.