Pablo
Pablo

Reputation: 2386

How to set a Javascript variable from my View using a ViewBag property

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

Answers (3)

Ufuk Hacıoğulları
Ufuk Hacıoğulları

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

Praveen Prasad
Praveen Prasad

Reputation: 32107

@if(ViewBag.DoAboutTab != null)
{
    var doAboutTab ="something";
}else
{
    var doAboutTab ="something_else";
}

or

var doAboutTab = '@ViewBag.DoAboutTab' !== '';

Upvotes: 5

jrummell
jrummell

Reputation: 43087

The false keyword is lower case in javascript.

var doAboutTab = @((ViewBag.DoAboutTab != null).ToString().ToLower());

Upvotes: 2

Related Questions