Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Populating a dropdown from ViewData

I have viewdata in my controller which is populated by a list:

List<employee> tempEmpList = new List<employee>();
tempEmpList = context.employees.ToList();
ViewData["tempEmpList"] = tempEmpList;

and I am passing this into my view, the question is, how do I place the content of the viewdata list into a dropdown list?

The display data will be .name from the list item.

I know I could do a foreach on the Viewdata and create a select list, but this seems a bit long winded

like image 259
JustAnotherDeveloper Avatar asked Aug 23 '12 11:08

JustAnotherDeveloper


2 Answers

Set up your ViewData in the normal way, assigning a Key name that maps to a property in your model that will be bound on Post ...

ViewData["ModelPropertyName"] = new SelectList(...)

Then in your view simply add a Html.DropDownList ...

@Html.DropDownList("ModelPropertyName")
like image 149
JDandChips Avatar answered Nov 16 '22 00:11

JDandChips


Please try with that. I have tried with MVC5

@Html.DropDownList("SelectedEmployee", new SelectList((System.Collections.IEnumerable) ViewData["tempEmpList"],"id","Name"))

like image 29
Sapnandu Avatar answered Nov 16 '22 00:11

Sapnandu