Итак, где находится строка кода, которая переводит
ViewData["PositionApplied"] = items;
в
public IEnumerable<SelectListItem> PositionApplied { get; set; }
что-то вроде:
this.PositionApplied = ViewData["PositionApplied"] as IEnumerable<SelectListItem>;
, и вы можете просто использовать вваш взгляд:
<%
IEnumerable<SelectListItem> PositionApplied =
ViewData["PositionApplied"] as IEnumerable<SelectListItem>;
%>
...
<%= Html.DropDownList("myDropDOwnId", PositionApplied) %>
или есть какие-то автоматические события под MVC2, о которых я не знаю?Поскольку я использую приведенный вами пример, все время.
Добавлено
, чтобы избежать ошибки Linq to Entities (если вы используете ее)измените свой метод на
private void PopulateJobsDropdown()
{
IQueryble<Your_Table> jobs = _service.GetJobs();
List<SelectListItem> items = new List<SelectListItem>();
foreach(var job in jobs)
items.add(new SelectListItem
{
Value = c.JobID.ToString(),
Text = c.JobTitle
});
ViewData["PositionApplied"] = items;
}
, и все будет работать нормально.