viewbag in asp.net mvc
ViewBag is a dynamic property that is available in ASP.NET MVC views and can be used to pass data from the controller to the view.
Here's how to use ViewBag in ASP.NET MVC:
- In the controller, create a new instance of
ViewBagand set its properties to the data you want to pass to the view. For example:
public ActionResult MyAction()
{
ViewBag.Title = "My Page Title";
ViewBag.Message = "Welcome to my page!";
return View();
}
- In the view, you can access the data stored in the
ViewBagby using the dynamic property syntaxViewBag.<property name>. For example:
@{
ViewBag.Title = "My Page Title";
ViewBag.Message = "Welcome to my page!";
}
# @ViewBag.Title
<p>@ViewBag.Message</p>
The
ViewBagcan store any type of data, including strings, numbers, objects, and collections. However, sinceViewBagis a dynamic property, it does not provide compile-time checking, so you need to be careful when accessing its properties to avoid runtime errors.You can also use
ViewBagto pass data to a partial view. In this case, you can set theViewBagproperties in the parent view or in the controller action that returns the partial view. For example:
@{
ViewBag.Title = "My Page Title";
ViewBag.Message = "Welcome to my page!";
}
<div>
@Html.Partial("_MyPartial")
</div>
In the partial view:
## @ViewBag.Title <p>@ViewBag.Message</p>
ViewBag can be a convenient way to pass data between the controller and view, especially for small amounts of data that do not require a strongly-typed model. However, for larger amounts of data or for data that requires more complex manipulation, it is often better to use a strongly-typed model or a view model.
