How to set a Javascript variable from my view using the ViewBag property

I would like to set a JavaScript variable in my view (inside a script block) based on the existence of the ViewBag property from the controller ... for example:

var doAboutTab = @(ViewBag.DoAboutTab != null) 

This generates a JavaScript error:

var doAboutTab = False

'False not defined'

+4
source share
3 answers
 @if(ViewBag.DoAboutTab != null) { var doAboutTab ="something"; }else { var doAboutTab ="something_else"; } 

or

 var doAboutTab = '@ViewBag.DoAboutTab' !== ''; 
+5
source

The false keyword is lowercase in javascript.

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

The ToString () method on a bool in C # returns it as "False". Javascript expects to be "false", you must make it lowercase

 var doAboutTab = @((ViewBag.DoAboutTab != null).ToString().ToLower()) 
+1
source

Source: https://habr.com/ru/post/1386765/


All Articles