Нет элемента ViewData типа "IEnumerable<SelectListItem>", который имеет ключ "CompPlanTypeId"

Я застрял на том, почему это ошибка. Если я удаляю тег div, содержащий план Comp, он работает просто отлично.

<div id="tabs-1"> 
    <form id="importForm">
        <div id="required">
            <div>
                <label class="OptionLabel">Comp Plan:</label>
                @*// TODO: suspect this next line is causing problems*@ 
                @Html.DropDownListFor(model => model.CompPlanTypeId, (IEnumerable<SelectListItem>)ViewBag.CompPlanList)
            </div>
            <div>
                <label class="OptionLabel">System:</label>
                @Html.DropDownListFor(model => model.SystemId, (IEnumerable<SelectListItem>)ViewBag.SystemList)
            </div>
            <div>
                <label class="OptionLabel">Month:</label>
                @Html.DropDownListFor(model => model.Month, (SelectList)ViewBag.MonthList)
            </div>
            <div>
                <label class="OptionLabel">Year:</label>
                @Html.DropDownListFor(model => model.Year, (SelectList)ViewBag.YearList)
            </div>
        </div>

здесь:

  public ActionResult Index()
    {
        ViewBag.Title = Text.Import;
        ViewBag.MonthList = MonthList;
        ViewBag.YearList = YearList;
        ViewBag.SystemList = GetSystemList();
        ViewBag.CompPlanList = GetCompPlanList();
        ViewBag.Message = "";
        ViewBag.MessageType = "";
        return View();
    }

ViewBag.CompPlanList имеет значение 2 элемента. Один, содержащий пустую строку, другой, содержащий раскрывающееся значение.

Вот трассировка стека.

[InvalidOperationException: There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'CompPlanTypeId'.]

System.Web.Mvc.Html.SelectExtensions.GetSelectData (HtmlHelper htmlHelper, имя строки) +392896 System.Web.Mvc.Html.SelectExtensions.SelectInternal(HtmlHelper htmlHelper, строка StringLabel, имя строки, IEnume1 selectList, Boolean allowMultiple, IDictionary2 htmlAttributes) +137 System.Web.Mvc.Html.SelectExtensions.DropDownListFor (HtmlHelper1 htmlHelper, Expression1 выражение, IEnumerable1 selectList, String optionLabel, IDictionary2 htmlAttributes) +35 System.Web.Mvc.Html.SelectExtensions.DropDownListFor (HtmlHelper1 htmlHelper, Expression1 выражение, IEnumerable`1 selectList) +60 ASP._Page_Views_Import_Index_cshtml.Execute() в c:\WIP\CompensationAudit\src\WebLibrary\Views\Import\Index.cshtml:28

0 ответов

Другие вопросы по тегам