ASP.NET MVC > Output

Return model to view from action method in ASP.NET MVC

How to return a model/object to the view from controller action method?


To return a model from the controller action method to the view, we need to pass the model/object in the View() method.

ACTION METHOD CODE

public ActionResult OutputViewWithModel()
        {
            UserNamePasswordModel model = new UserNamePasswordModel();
            model.UserName = "user";
            model.Password = "Password";
            return View(model); // returns view with model
        }

Here, the View gets the model as UserNamePasswordModel object with its property set. To retrieve properties of this object in the view, we can use @Model; like @Model.UserName or @Model.Password.

View code

Username: @Model.UserName
<br />
Password: @Model.Password 

Instead of a simple class object we can also pass collection of objects to the view like

CONTROLLER CODE

public ActionResult OutputViewWithModel()
        {
            List<UserNamePasswordModel> list = new List<UserNamePasswordModel>();
            // ... populate list
            return View(list);
        }

Above action method shows OutputViewWithModel view whose model is IEnumerable<UserNamePasswordModel>. To retrieve each item from the Model (in this case IEnumerbale collection), we can use foreach loop.

View code

@foreach (var item in Model)
{
<p> @item.UserName </p>

Above code will list all UserName from the list on the page.

 Views: 7563 | Post Order: 62



Write for us