How to make a select list item selected in asp.net mvc?

.net, asp.net, asp.net-mvc, c#

Solution

You should use:

ViewData["DDL"] = new SelectList(list, "value", "text", id == "MyTest" ? "MyTest" : "Test2");

You should define selected value in SelectList constructor.

EDIT

Answer to question:

You don't have to provide List to SelectList constructor. It can be collection of any object. You just have to provide key, value propery and selected value. Your code could also look like:

var selectItems = new Dictionary<string, string> {{"MyTest", "MyTest"}, {"Test2", "Test2"}};
ViewData["DDL"] = new SelectList(selectItems, "Key", "Value", id == "MyTest" ? "MyTest" : "Test2");

Problem

I have the following code but it never selects the value I want. ``` List<SelectListItem> list = new List<SelectListItem>(); SelectListItem one = new SelectListItem() { Text = "MyTest", Value = "MyTest"}; SelectListItem two= new SelectListItem() { Text = "Test2", Value = "Test2" }; if (id == "MyTest") { one .Selected = true; } else { two.Selected = true; } list.Add(one); list.Add(two); ViewData["DDL"] = new SelectList(list, "value", "text"); ``` So I am not sure what I am doing wrong in my view I have ``` <%= Html.DropDownList("DDL") %> ```

Original source