Doomsknight Doomsknight - 3 months ago 17
C# Question

How do I access ViewBag from JS

My attempted methods.

Looking at the JS via browser, the

is just blank... (missing)

var c = "#" + "@ViewBag.CC";
var d = $("#" + "@ViewBag.CC").value;
var e = $("#" + "@ViewBag.CC").val();

var c = "@ViewBag.CC";
var d = $("@ViewBag.CC").value;
var e = $("@ViewBag.CC").val();


if you are using razor engine template then do the following

in your view write :

<script> var myJsVariable = '@ViewBag.MyVariable' </script>

UPDATE: A more appropriate approach is to define a set of configuration on the master layout for example, base url, facebook API Key, Amazon S3 base URL, etc ...```

   var AppConfig = @Html.Raw(Json.Encode(new {
    baseUrl: Url.Content("~"),
    fbApi: "get it from db",
    awsUrl: "get it from db"

And you can use it in your JavaScript code as follow:

  myProduct.fullUrl = AppConfig.awsUrl + myProduct.path;