A good test of a web framework is to see how it handles select boxes. It requires managing the list, the selected item across several states, be easily styled, be easily ajax-ed, and connect to a data store.
I like using Enums for static data, but they are a bit limited without a description value, you end up with select options labeled “ItemName ” instead of ”Human Friendly Item Name”.
Binding an enum to a dropdown is well documented. Adding descriptions to enums is also well documented. Here is a way to have enums with descriptions into a dropdown.
Your Enum
The Razor
This function will turn your enum into an IEnumerable<SelectListItem>
Of course shortly after finishing this I found a great post on StackOverflow about making html helpers which results in an even prettier finish in razor, but requires a few extra helpers.