2010-12-01 5 views
5

एक नौसिखिया प्रश्न के लिए खेद है।एमवीसी - व्यूडेटा को बूलियन

व्यूडेटा का उपयोग करके नियंत्रक से देखने के लिए बूलियन मान को पास करते समय, मैं इसे जावास्क्रिप्ट में बूलियन मान के रूप में कैसे प्राप्त करूं? उदाहरण:

नियंत्रक:

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> 

यह परिणाम होगा में:

var login = true; 

कौन सा ब्राउज़र में एक बूलियन के रूप में पार्स किया जाएगा।

+0

ट्रिकी एक लेकिन यह काम करता है! धन्यवाद जनवरी ~ – BeCool

0

मैं तुम्हें ऐसा कर सकता है विश्वास करते हैं:

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

संपादित करें: वास्तव में पहले जिस तरह से मैं यह काम नहीं होता था। बूलियन() को पास किए गए सही/झूठे मान इस काम के लिए लोअरकेस होना चाहिए।

संबंधित मुद्दे