How to get Viewbag value in Ajax success

You cannot directly access the `ViewBag` value from an Ajax success callback because `ViewBag` is a server-side construct and the success callback is executed on the client-side.

However, you can pass the `ViewBag` value to the client-side code as part of the Ajax response. Here's an example of how you can do this:

  • In the controller action method, set the `ViewBag` value and return a JSON result that includes the value.

public IActionResult MyActionMethod()
{
    ViewBag.MyValue = "Hello World";
    return Json(new { myValue = ViewBag.MyValue });

}

In this example, the `ViewBag` value is set to "Hello World" and the JSON result includes a property called `myValue` with the value of the `ViewBag` value.

  • In the client-side code, access the `myValue` property from the Ajax response and use it as needed.

$.ajax({
    url: "/Controller/MyActionMethod",
    type: "GET",
    success: function (data) {
        var myValue = data.myValue;
        // Use myValue as needed
    }

});

In this example, the `myValue` property is accessed from the `data` object returned by the Ajax request, and can be used as needed in the success callback.

By passing the `ViewBag` value as part of the Ajax response, you can access it in the client-side code and use it as needed.

Previous Post Next Post