title: DropdownListFor selected value not selecting in the rendered html
body: <p>I have an extension method that I'm trying to use where you can use an enum property to create   a dropdown list, and set the selected item:</p>
  
  <pre><code>public enum DefaultEnumSelectItemOptions
  {
      AddDefaultItemIfEnumIsZero,
      ZeroEnumIsDefaultItem
  }
  public static SelectList ToSelectList(this object enumObj, DefaultEnumSelectItemOptions option = DefaultEnumSelectItemOptions.AddDefaultItemIfEnumIsZero)
  {
      var asEnum = Enum.Parse(enumObj.GetType(), enumObj.ToString());
      var values = Enum.GetValues(enumObj.GetType());
      var dataItems = new List&lt;Tuple&lt;string, int&gt;&gt;();
      dataItems.Add(new Tuple&lt;string, int&gt;("Select One", -1));
      for (int i = 0; i &lt; values.Length; i++)
      {
          int enumValue = (int)values.GetValue(i);
          if (enumValue == 0)
          {
              if (option != DefaultEnumSelectItemOptions.AddDefaultItemIfEnumIsZero)
              {
                  dataItems.Add(new Tuple&lt;string, int&gt;(values.GetValue(i).ToString(), enumValue));
              }
          }
          else
          {
              dataItems.Add(new Tuple&lt;string, int&gt;(values.GetValue(i).ToString(), enumValue));
          }
      }
      var selectedItemValue = (int)enumObj;
      if (selectedItemValue == 0 &amp;&amp; option == DefaultEnumSelectItemOptions.AddDefaultItemIfEnumIsZero)
      {
          selectedItemValue = -1;
      }
      return new SelectList(dataItems, "Item2", "Item1", selectedItemValue);
  }
  </code></pre>
  
  <p>A model looks like this:</p>
  
  <pre><code>public enum PropertyTypes
  {
      Unknown=0,
      Vehicle,
      Other
  }
  
  [DataContract]
  public class Property : ClaimEntity
  {
      [DataMember]
      public PropertyTypes PropertyType { get; set; }
  
      public Property()
      {
          this.PropertyType = PropertyTypes.Vehicle;
      }
  }
  </code></pre>
  
  <p>Finally the view looks like this:</p>
  
  <pre><code>@Html.DropDownListFor(m =&gt; m.PropertyType, Model.PropertyType.ToSelectList())
  </code></pre>
  
  <p>When I set a breakpoint in the extension method, it appears to be correct, but the selected option is not appearing in the html.</p>
  
  <p><img src="https://i.stack.imgur.com/hLYq8.png" alt="dropdown issue"></p>
  
  <p>What am I doing wrong?</p>
  
  <p><strong>edit</strong> I changed it to use the <code>SelectListItem</code> as suggested, however I still am not seeing the value selecting:</p>
  
  <p><img src="https://i.stack.imgur.com/Nj85m.png" alt="enter image description here"></p>