Search code examples
asp.net-mvcnulldrop-down-menusharp-architecture

DropDownListFor Not Displaying/Persisting Null for First Choice in List


I have an MVC app via SharpArch. In the view I have:

 Html.DropDownListFor(x => x.Location, 
     new SelectList(Model.PossibleLocations, "Id", "Address"), 
     "-- No Location --")

I have 2 issues.

  1. The Dropdown is not getting updated when the view gets bound to the model.
  2. A selection gets persisted correctly except when I try the top "no location".

I was able to take care of the first point by changing x.Location to x.Location.Id but then I had other issues.

I can find plenty of examples for DropDownList, but none in which saving a null is shown.

Any help is appreciated.

Thanks

UPDATE:

I just upgraded Resharper (a minor update) and am getting prompted to fill it DropDownListFor. Why would that make a difference? It was working enough to bind and now it doesn't work at all.


Solution

  • You could always insert the "empty" SelectListItem into your PossibleLocations collection before passing to the View and check for that "empty" value (0 for instance) when the form is posted

    model.PossibleLocations.Insert(0, 
        new SelectListItem() { Text = "-- No Location --", Value = "0" };