Ответ 1
Вам нужно изменить
@Html.DropDownListFor(model => model.CurrencyID, ViewBag.CurrencyList as SelectListItem))
в
@Html.DropDownListFor(model => model.CurrencyID, ViewBag.CurrencyList as IEnumerable<SelectListItem>)
Я пытаюсь связать помощник DropDownListFor с представлением, определенным в контроллере. Но я получаю ошибку.
Просмотреть код: -
@Html.DropDownListFor(model => model.CurrencyID, ViewBag.CurrencyList as SelectListItem))
Код контроллера: -
public ActionResult Create()
> {
> var content = from p in db.Currency
> where p.IsActive == true
> orderby p.CurrencyName
> select new { p.CurrencyID, p.CurrencyCode };
>
> var x = content.ToList().Select(c => new SelectListItem
> {
> Text = c.CurrencyCode,
> Value = c.CurrencyID.ToString(),
> Selected = (c.CurrencyID == 68)
> }).ToList();
> ViewBag.CurrencyList = x;
>
> return View();
> }
Полученная ошибка: - System.Web.Mvc.HtmlHelper 'не содержит определения для' DropDownListFor 'и лучший метод перегрузки' System.Web.Mvc.Html.SelectExtensions.DropDownListFor(System.Web.Mvc.HtmlHelper, System. Linq.Expressions.Expression>, System.Collections.Generic.IEnumerable) 'имеет некоторые недопустимые аргументы
Вам нужно изменить
@Html.DropDownListFor(model => model.CurrencyID, ViewBag.CurrencyList as SelectListItem))
в
@Html.DropDownListFor(model => model.CurrencyID, ViewBag.CurrencyList as IEnumerable<SelectListItem>)
Вы также можете это сделать. Он должен работать:
ViewBag.CurrencyID = x;
и в поле зрения:
@Html.DropDownListFor(model => model.CurrencyID, null)
Надеюсь это поможет!