Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
592 views
in Technique[技术] by (71.8m points)

asp.net mvc - 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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can use the DropDownList html helper:

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

In the SelectList constructor, you can specify which properties of the Employee class should be used as both the text and the value within the dropdown (e.g. "Id", "Name")

The name of the dropdown ("SelectedEmployee") will be used when you post back your data to the server.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...