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

stephen rosso
stephen rosso
4,362 Points

I have been stuck on this code for 2 days now. From what I have found in the community chat this is the correct code.

Do i have to change the Detail.cshtml or the VideoGame.cs?

VideoGamesController.cs
using System.Web.Mvc;
using Treehouse.Models;

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 string[]
               {
                "Mario",
                "Princess Peach",
                "Bowser",
                "Toad",
                "Yoshi"
               }
        };
            return View(VideoGame);
        }
    }
}
Detail.cshtml
@model Treehouse.Models.VideoGame

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

<h1>@ViewBag.Title</h1>

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

<h5>Characters:</h5>
<div>
    <ul>
        @foreach (var character in ViewBag.Characters)
        {
            <li>@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 + ")";
            }
        }
    }
}

2 Answers

KRIS NIKOLAISEN
PRO
KRIS NIKOLAISEN
Pro Student 49,890 Points

You update Detail.cshtml in task 2 of the challenge. For task 1 your variable var videoGame has a lowercase v. In your return return View(VideoGame); it is uppercase. I changed it to lowercase return View(videoGame); and it passed.

stephen rosso
stephen rosso
4,362 Points

Kris you're a legend. Cant believe I missed that!