title: razor Html.DropdownList provide "Please select" as optionLabel AND "US" as selectedValue
body: <p><strong>Data</strong>:</p>
  
  <pre><code>var countries = new Dictionary&lt;string,string&gt;();
  countries.Add("AF","Afghanistan");
  countries.Add("US","United States");
  countries.Add("FR","France");
  </code></pre>
  
  <p><strong>Razor</strong>:</p>
  
  <pre><code>@Html.DropdownList("Countries",new SelectList(countries, "key", "value", "US"), "Select Country")
  </code></pre>
  
  <p><strong>Issue</strong>: in my razor, I'm specifying <code>"US"</code> for the selectedValue, and <code>"Select Country"</code> for optionLabel. I expect this to insert <code>"Select Country"</code> as the first item in the dropdown, AND have <code>"US"</code> already selected for me.</p>
  
  <p><strong>What actually happens</strong>: <code>"Select Country"</code> is inserted, but <code>"US"</code> is NOT selected.  <code>"Select Country"</code> is.</p>
  
  <p><strong>Question</strong>: can I have both? Where Razor injects <code>"Please Select"</code>, but also pre-selects <code>"US"</code> as the default?</p>
  
  <p><strong>Please note</strong>: I'm getting the data from a table in my database, so I'd prefer not to have an actual row in there with "Please select", or have to insert it myself into the dictionary.  It's easier to do Model.Countries = dbRepo.GetCountries() in my controller vs. declaring an empty dictionary, adding "Please Select", then looping thru .GetCountries() and adding to the original dictionary before setting it to Model.Countries for my view.</p>
  
  <p>Thanks!</p>