2012-08-31 8 views
5

मैं जावास्क्रिप्ट में Viewbag से एक बूलियन मान की तुलना करना चाहता हूं।मैं जावास्क्रिप्ट में सी # व्यूबैग से किसी मान की तुलना कैसे कर सकता हूं?

if (@Viewbag.MyBoolValue) 
    do_sth(); 

लेकिन फिर मैं की तरह कंसोल में त्रुटि है: पहली बार में तो मैं इस कोशिश की Value False/True is not declared (बिल्कुल)।

@{ 
    string myBool = ((bool)Viewbag.MyBoolValue) ? "true" : "false"; 
} 

और जावास्क्रिप्ट में:

तो मैं इस कोशिश की

if (@myBool == "true") 
    do_sth(); 

लेकिन यह भी काम नहीं करता। मैं इसे कैसे कारगर बना सकता हूं? किसी भी सहायता की सराहना की जाएगी।

+0

साइड नोट: यदि आप वास्तव में जावास्क्रिप्ट में एक सी # स्ट्रिंग का उपयोग करने का प्रयास कर रहे थे, तो आप का प्रयोग करेंगे ' '@ myString'' या' "@myString" '। मूल्य में सचमुच कोई टाइपिंग (स्पष्ट रूप से) के साथ फेंक दिया जाता है। – Sinjai

उत्तर

15

आपको क्या करना चाहिए, यह मानते हुए कि व्यूबैग का मान एक प्रकार का है जो जावास्क्रिप्ट समझ सकता है।

नोट हालांकि, आपका पहला उदाहरण अधिकतर काम नहीं करता है क्योंकि बूलियन मान जावास्क्रिप्ट और सी # में अपरकेस में लोअरकेस हैं। इसे ध्यान में रखते, इस प्रयास करें:

var myBoolValue = @Viewbag.MyBoolValue.ToString().ToLower(); 
if (myBoolValue) 
    do_sth(); 
+0

व्यूबैग केस संवेदनशील हो सकता है: व्यूबैग –

0

नीचे viewbag

<script> 
    var myBoolInJs = @Viewbag.MyBoolValue; 
    if(myBoolInJs == true) 
    do_sth(); 
</script> 
+0

यह त्रुटि देता है क्योंकि 'रॉ' पैरामीटर के रूप में स्ट्रिंग लेता है। –

+0

@MateuszRogulski क्षमा करें मेरे बुरे आपको एचटीएमएलआर की आवश्यकता नहीं है, मैंने अभी इसे बहुत तेज़ी से टाइप किया है – HatSoft

0

यह काम करेगा से एक जावास्क्रिप्ट मूल्य के साथ vailable पैदा करेगा।

@{  
    string myBool = Viewbag.MyBoolValue.ToString().ToLower(); 
} 

if (@myBool) 
    do_sth(); 
0

Insted सच्चे और झूठे उपयोग 0 और अपने नियंत्रक में 1, रेजर पेज के शीर्ष पर

@{ 
    var isSomething= Viewbag.MyBoolValue; 
} 

बाद में नीचे

if (@isSomething== 0) 
0
var myBoolVal = @((ViewBag.MyBoolValue ?? false).ToString().ToLower()); 

या

var myBoolVal = '@(ViewBag.MyBoolValue)'==='@true'; 

या

var myBoolVal = @(Json.Encode(ViewBag.MyBoolValue ?? false)); 
संबंधित मुद्दे

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