C# ASP.NET MVC Forms Improving Our Form Drop Down Lists

Don't know why my code isn't working.

I keep getting an error message asking if I called the Html.DropDownList helper. What am I doing wrong?

Report.cshtml
@model IssueReporter.Models.Issue

@{
    ViewBag.Title = "Report an Issue";
}

<h2>@ViewBag.Title</h2>

@using (Html.BeginForm())
{
    <div>
        @Html.LabelFor(m => m.Name)
        @Html.TextBoxFor(m => m.Name)
    </div>

    <div>
        @Html.LabelFor(m => m.Email)
        @Html.TextBoxFor(m => m.Email)
    </div>

    <div>
        @Html.LabelFor(m => m.DepartmentId)
        @Html.DropDownListFor(m => m.DepartmentId, SelectList, new { @class = "form-control" })
    </div>

    <div>
        @Html.LabelFor(m => m.Severity)
        @Html.TextBoxFor(m => m.Severity)
    </div>

    <div>
        @Html.LabelFor(m => m.Reproducible)
        @Html.TextBoxFor(m => m.Reproducible)
    </div>

    <div>
        @Html.LabelFor(m => m.DescriptionOfProblem)
        @Html.TextAreaFor(m => m.DescriptionOfProblem)
    </div>

    <button type="submit">Save</button>
}

1 Answer

Ben Reynolds
Ben Reynolds
35,169 Points

In the Html.DropDownListFor method, you'll need to pass in the list provided in the instructions for that argument (ViewBag.DepartmentsSelectListItems). You'll also have to cast it to a SelectList:

(SelectList)ViewBag.DepartmentsSelectListItems