I want to compare a boolean value from the Viewbag
in javascript. So at first I tried this:
if (@Viewbag.MyBoolValue)
do_sth();
But then I have error in console like: Value False/True is not declared
(not exactly).
So I tried this:
@{
string myBool = ((bool)Viewbag.MyBoolValue) ? "true" : "false";
}
and in javascript:
if (@myBool == "true")
do_sth();
But it does not work too. How can I make it work? Any help would be appreciated.
What you have should work, assuming that the value from the ViewBag is of a type which javascript can understand.
Note however, that your first example most likely did not work because boolean values are lowercase in javascript and uppercase in C#. With that in mind, try this:
var myBoolValue = @ViewBag.MyBoolValue.ToString().ToLower();
if (myBoolValue)
do_sth();
The below will create a javascript vailable with value from viewbag
<script>
var myBoolInJs = @Viewbag.MyBoolValue;
if(myBoolInJs == true)
do_sth();
</script>
var myBoolVal = @((ViewBag.MyBoolValue ?? false).ToString().ToLower());
or
var myBoolVal = '@(ViewBag.MyBoolValue)'==='@true';
or
var myBoolVal = @(Json.Encode(ViewBag.MyBoolValue ?? false));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With