title: Best way of implementing DropDownList in ASP.NET MVC 2?
body: <p>I am trying to understand the best way of implementing a <code>DropDownList</code> in ASP.NET MVC 2 using the <code>DropDownListFor</code> helper.  This is a multi-part question.</p>
  
  <p>First, what is the best way to pass the list data to the view?</p>
  
  <ol>
  <li>Pass the list in your model with a <code>SelectList</code> property that contains the data</li>
  <li>Pass the list in via <code>ViewData</code></li>
  </ol>
  
  <p>How do I get a blank value in the <code>DropDownList</code>?  Should I build it into the <code>SelectList</code> when I am creating it or is there some other means to tell the helper to auto create an empty value?</p>
  
  <p>Lastly, if for some reason there is a server side error and I need to redisplay the screen with the <code>DropDownList</code>, do I need to fetch the list values again to pass into the view model?  This data is not maintained between posts (at least not when I pass it via my view model) so I was going to just fetch it again (it's cached). Am I going about this correctly?</p>