I'm creating a small MVC application and am passing a User object from a controller to an ActionResult method in another controller. One of the attributes of the User object is a list of Property objects called Properties.

Here's the rub: when the User object is finally passed to the relevant View, it's list does not contain any properties.

Here's the setup:

**User class:**

```
public class User
{
   public int Id {get;set;}
   public List<Property> Properties {get;set;}
}

```

**AccountController**

```
public ActionResult LogOn(int userId, string cryptedHash)
{
   //code to logOn (this works, promise)

   User user = dbContext.getUser(userId);
   //debugging shows the user contains the list of properties at this point

   return RedirectToAction("UserHome", "Home", user);
}

```

**HomeController**

```
public ActionResult UserHome(User user)
{
    ViewBag.Messaage = "Hello, " + user.Forename + "!";
    return View(user);  //debugging shows that user.Properties is now empty(!)
}

```

**UserHome.cshtml View**

```
@model emAPI.Model_Objects.User

@{
    ViewBag.Title = "UserHome";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>UserHome</h2>
<div>
        @Model.Forename, these are your properties:
        <ul>
            @foreach (var property in @Model.Properties)
            {
                <li>property.Name</li>
            }
        </ul>
</div>

```

The view loads without any problem - `@Model.Forename` is fine, but as far as `HomeController` is concerned `user.Properties` was empty when it received it, although I know it wasn't when `AccountController` sent it.

Any help or advice anyone has to offer would be gratefully received.