2010-12-01 22 views
5

初心者の質問に申し訳ありません。MVC - ブール値としてViewDataを渡します

ControllerからViewDataを使用してビューにブール値を渡すとき、JavaScriptでブール値としてどのように取得するのですか? 例:

コントローラー:

ViewData["login"] = true; 

ビュー

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

葉確かに私は

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

を行うことができますが、私はむしろとしてログインオブジェクトを保持ブール値であれば文字列でも可。

ありがとう!

答えて

5

一重引用符を削除するだけです。

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

これは、になります:

ブラウザのbooleanとして解析されます
var login = true; 

+0

厄介なものですが動作します!ありがとうJan〜 – BeCool

0

は、私はあなたがこれを行うことができます信じる:

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

編集:私はそれが動作しませんでした実際には最初の方法。これが機能するには、Boolean()に渡される真偽値が小文字でなければなりません。

関連する問題