'No ViewData item of type 'IEnumerable<SelectListItem>' that has the key

I get this error, for a Html.DropDownListFor using a SelectList, yet the key it complains about does exist.

The error:

 There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'ObjectionRequirement.FkRequirementStatusId'.

The Object structure:

public class ObjectionRequirementViewModel
{
    public ObjectionRequirement ObjectionRequirement { get; set; }
    public List<ObjectionRequirement> ObjectionRequirements { get; set; } 
    public object RequirementStatusLookup { get; set; }

    public ObjectionRequirementViewModel()
    {
        this.ObjectionRequirement = new ObjectionRequirement();
        this.ObjectionRequirements = new List<ObjectionRequirement>();
        this.RequirementStatusLookup = null;
    }
}

public class ObjectionRequirement
{
    public int? Id { get; set; }
    public string Requirement { get; set; }
    public int? FkRequirementStatusId { get; set; }
}

public class ObjectionRequirementStatus
{
    public int? Id { get; set; }
    public string Status { get; set; }
}

Code setting the ViewModels RequirementStatusLookup

List<ObjectionRequirementStatus> requirementStatuses = getRequirementStatuses();

ObjectionRequirementViewModel model = new ObjectionRequirementViewModel();
model.RequirementStatusLookup = new SelectList(requirementStatuses, "Id", "Status", selectedStatusId);

The Markup:

 @Html.DropDownListFor(m => m.ObjectionRequirement.FkRequirementStatusId,
          (SelectList)Model.RequirementStatusLookup)


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source