C# ASP.NET MVC Basics Modeling and Presenting Data Using Strongly Typed Views

Not sure what the directive fix is for this?

where is the problem videoGames not a directive?

VideoGamesController.cs
using System.Web.Mvc;

namespace Treehouse.Controllers
{
    public class VideoGamesController : Controller
    {
        public ActionResult Detail()
        {
            var videoGame = new VideoGame()
            {
                Title = "Super Mario 64",
                Description = "Super Mario 64 is a 1996 platform video game developed and published by Nintendo for the Nintendo 64.",
                Characters = new Character[]
                {
                    new Character() { Name = "Mario" },
                    new Character() { Name = "Princess Peach" },
                    new Character() { Name = "Bowser" },
                    new Character() { Name = "Toad" },
                    new Character() { Name = "Yoahi" },
                }
            };
            return View(videoGame);
        }
    }
}
Detail.cshtml
@model VideoGames.Models.VideopGame

@{
    ViewBag.PageTitle = "Video Game Detail";
}

<h1>@Model.Title</h1>

<h5>Description:</h5>
<div>@Model.Description</div>

<h5>Characters:</h5>
<div>
    <ul>
        @foreach (var character in Model.Characters)
        {
            <li>@Model.character</li>
        }
    </ul>
</div>
VideoGame.cs
namespace Treehouse.Models
{
    // Don't make any changes to this class!
    public class VideoGame
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public string[] Characters { get; set; }
        public string Publisher { get; set; }

        public string DisplayText
        {
            get
            {
                return Title + " (" + Publisher + ")";
            }
        }
        public string videoGame { get; set; }
    }
}

1 Answer

Steven Parker
Steven Parker
173,976 Points

Getting close! I see just two issues:

It looks like you missed the first of the four task steps: "Add a using directive for the Treehouse.Models namespace."

Also, the "Characters" array should be just an array of strings. No "Character" class has been defined.

Adding a data model is the same or different to this? where do I start to find this? Lost at present?

Steven Parker
Steven Parker
173,976 Points

The "VideoGame" class is the data model. By completing task 1 you are adding the data model. When you finish these 2 fixes you should move on to task 2.