Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialJosh Boersma
Courses Plus Student 2,486 PointsUpdate Controller from ViewBag to Model
Challenge: Update the VideoGamesController.cs controller to use the VideoGame data model. Add a using directive for the Treehouse.Models namespace. Instantiate an instance of the VideoGame data model. Move the ViewBag property values to their respective data model properties. Pass the VideoGame data model instance into the View method call.
I'm at work and unable to view the compiler errors. I tried including a random Id and Publisher, but that didn't work. Any direction pointing or tips would be great.
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);
}
}
}
@{
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>
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
Steven Parker
231,248 PointsIt looks like you're missing an assignment operator ("=
") on this line:
var videogame new VideoGame()
Andrew Cunning
1,393 PointsWhat does it mean to add the using directive of Treehouse.Models. I don't remember the instructor doing that in the controller file of the Visual Studio Comic Book Gallery site?
Edit: Nevermind, I rewatched the video and I see how he adds that using directive by clicking the option box after the red line error appeared. I just didn't connect the dots as I didn't actually see visual studio adding that at the top of the file.
Josh Boersma
Courses Plus Student 2,486 PointsJosh Boersma
Courses Plus Student 2,486 PointsWell.....this is embarrassing.
Steven Parker
231,248 PointsSteven Parker
231,248 PointsNo need to be embarrased. Mistakes are part of learning, and we're all here to learn.
Happy coding!