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 trialDaniel Carter
19,991 PointsIssue with Layout removal.
My code won't pass because it keeps asking if I have removed the Layout property. I have and it keeps repeating the same error message. Why is that? What am I missing?
using System.Web.Mvc;
namespace Treehouse.Controllers
{
public class VideoGamesController : Controller
{
public ActionResult Detail()
{
ViewBag.Title = "Super Mario 64";
ViewBag.Description = "Super Mario 64 is a 1996 platform video game developed and published by Nintendo for the Nintendo 64.";
ViewBag.Characters = new string[]
{
"Mario",
"Princess Peach",
"Bowser",
"Toad",
"Yoshi"
};
return View();
}
}
}
@{
ViewBag.Title = "Super Mario 64";
ViewBag.Description = "Super Mario 64 is a 1996 platform video game developed and published by Nintendo for the Nintendo 64.";
ViewBag.Characters = new string[]
{
"Mario",
"Princess Peach",
"Bowser",
"Toad",
"Yoshi"
};
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Video Game Detail</title>
</head>
<body>
<div>
<h1>@title</h1>
<h5>Description:</h5>
<div>@description</div>
<h5>Characters:</h5>
<div>
<ul>
@foreach (var character in characters)
{
<li>@character</li>
}
</ul>
</div>
</div>
</body>
</html>
3 Answers
Steven Parker
231,268 PointsIt's asking about the "Layout" property because you should not remove it, but it appears that you have.
But you will want to remove the old assignments that were moved to the controller and converted to use ViewBag instead of replicating the controller code. Then you will also convert the old references to use the new ViewBag values.
Daniel Carter
19,991 PointsTo confirm, remove all of the "ViewBag" values in the Detail.cshtml?
Steven Parker
231,268 PointsRemove the ones there now, yes. But then the references to the old variables will need to be converted to ViewBag references.
Daniel Carter
19,991 PointsDaniel Carter
19,991 PointsIt wouldn't pass when I kept the layout property. It asked if I had removed it, then I removed it and it gave the same error message.
Steven Parker
231,268 PointsSteven Parker
231,268 PointsConverting the other values to ViewBag may have confused the validator. Be sure to remove those. And to convert all the references in the page code.