Reputation: 2386
I would like to set a JavaScript variable in my view (inside a script block) based on the existences of a ViewBag property from the controller... like:
var doAboutTab = @(ViewBag.DoAboutTab != null)
This generates a JavaScript error of:
var doAboutTab = False
'False is not defined'
Upvotes: 4
Views: 28260
Reputation: 38478
ToString() method on bool in C# returns it as "False".Javascript expects "false", you should make it lowercase
var doAboutTab = @((ViewBag.DoAboutTab != null).ToString().ToLower())
Upvotes: 1
Reputation: 32107
@if(ViewBag.DoAboutTab != null)
{
var doAboutTab ="something";
}else
{
var doAboutTab ="something_else";
}
or
var doAboutTab = '@ViewBag.DoAboutTab' !== '';
Upvotes: 5
Reputation: 43087
The false keyword is lower case in javascript.
var doAboutTab = @((ViewBag.DoAboutTab != null).ToString().ToLower());
Upvotes: 2