C# ASP.NET MVC Basics Modeling and Presenting Data Using Razor to Render Boolean Values

ternary operation not working

I'm using the ternary operation but isn't work @((Model.Favorite) ? "Yes" : "No") Can some one help

Detail.cshtml
@model Treehouse.Models.VideoGame

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

<h1>@Model.Title</h1>

<h5>Favorite: @((Model.Favorite) ? "Yes" : "No")</h5>

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

<h5>Characters:</h5>
<div>
    <ul>
        @foreach (var character in Model.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 bool Favorite { get; set; }

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

2 Answers

Steven Parker
Steven Parker
170,221 Points

You have too many parentheses.

While it would probably not be an issue in actual practice, the separate parentheses around Model.Favorite aren't necessary and seem to confuse the challenge checker.

Thanks, you was right, I simplified it to @(Model.Favorite ? "Yes" : "No")