Well, after a couple hours reading stuff over here, trying unsuccessfully all the solutions, also found [this article](http://publicityson.blogspot.com/2010/07/aspnet-mvc-htmldropdownlist-not-showing.html) that i thought it would save my life... nothing. 

Long story short.

Here is my View (all combinations)

```
@Html.DropDownList("yearDropDown",(IEnumerable<SelectListItem>)ViewBag.yearDropDown)
@Html.DropDownList("yearDropDownxxx",(IEnumerable<SelectListItem>)ViewBag.yearDropDown)
@Html.DropDownList("yearDropDown",(<SelectList>)ViewBag.yearDropDown)
@Html.DropDownList("yearDropDown")

```

Here is my Controller

```
public ActionResult(int year)
{
var years = new int[] { 2007, 2008, 2009, 2010, 2011, 2012 }
                .Select(x => new SelectListItem { 
                    Text = x.ToString(), 
                    Value = x.ToString(), 
                    Selected=x==year }).Distinct().ToList();

            years.Insert(0, new SelectListItem { Value = null, Text = "ALL YEARS" });
            ViewBag.yearDropDown = new SelectList(years, "Value", "Text", years.Where(x => x.Selected).FirstOrDefault());
return View();
}

```

Here is my rendered HTML. Selected nowhere to be found.

```
<select id="yearDropDown" name="yearDropDown"><option value="">ALL YEARS</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
</select>

```

Needless to mention, but i will, i checked in my Watch and SelectList actually has SelectedValue property populated with the selected year passed to the controller. But when i renders at the view, it goes to the first option.

Please, I need the solution for `DropDownList`, NOT for `DropDownListFor`. I am highlighting this because i saw other people here asking for the same help and bunch of people gave them instructions, and almost order them, to use DropDownListFor. There is a reason why i NEED to use DropDownList.

SOLUTION:
Look at my own answer.
However, here are the simple changes i made.

Controller:

```
ViewBag.yearDropDown = years;

```

View:

```
@Html.DropDownList("yearDropDown")

```