asp.net mvc выпадающий список нет элемента ViewData - PullRequest
0 голосов
/ 22 февраля 2010

Я начинаю изучать MVC, попробуйте добавить выпадающий список, сделать строительство

<%= Html.DropDownList("ddl") %>

но это показывает ошибку

Нет элемента ViewData типа 'IEnumerable', который имеет ключ 'ddl'

почему? Я использую простой код, только передать имя параметра, так почему ошибка?

Ответы [ 3 ]

1 голос
/ 22 февраля 2010

На самом деле Html.DropDownList - это помощник HTML, который создает элемент html select. Когда вы передаете ddl в качестве аргумента, он ожидает получить массив или список или что-то подобное (объект, реализующий интерфейс IEnumerable) для заполнения выпадающего списка. попробуй так:

В контроллере:

ViewData["ddl"]=new string[]{'Jan',  'Feb','Mar','Apr'.......'Dec'};

, тогда он создаст элемент выбора, содержащий заданные значения. Для получения дополнительной информации прочитайте эту статью .

0 голосов
/ 22 февраля 2010
"There is no ViewData item of type 'IEnumerable'"

Это означает, что вспомогательный метод ожидает элемент типа 'IEnumerable', например, List<> с идентификатором 'ddl'

Если вы пытаетесь отобразить DropDownList, содержащий элементы из некоторого статического источника, вот один из способов сделать это.

          // create new IEnummerable 
          List<string> ddl = 
          new List<string>(new [] {"item1","item2" };   

          // add Items        
          ddl.Add("Item1");
          ddl.Add("Item2");

          // return View which holds ddl now
          ViewData["ddl "] = ddl ;
          return View();

Для более глубокого понимания взгляните на

0 голосов
/ 22 февраля 2010

Здесь - пример добавления DropDownList в ASP.NET-MVC. Вы должны предоставить элемент типа «IEnumerable» с ключом «dll» во ViewData, как говорится в ошибке.

...