There are many solutions out there. You will find many on your very first search. But here is a simple solution that I have used in past. Maybe it can help you. What I am going to do is show dropdownlist from Enum and back to binding enum on bind model as selected.
Models:
public enum UserDocumentType
{
IdCard,
Passport,
DrivingLicense,
ResidentsPermit
}
public class SampleViewModel
{
public UserDocumentType DocType
{
get;
set;
}
}
Controller:
public ActionResult Index()
{
//Select default as Passport
var user = new SampleViewModel
{
DocType = UserDocumentType.Passport
};
return View(user);
}
public void Submit(SampleViewModel vm)
{
//vm.DocType would be what was selected when submit was clicked
}
View:
<form action="@Url.Action("Submit")" method="post">
@Html.DropDownList("DocType",
Enum.GetNames(typeof(HelloWorldMvcApp.UserDocumentType)).Select(n => new SelectListItem { Text = n, Value = n, Selected = n == Enum.GetName(typeof(HelloWorldMvcApp.UserDocumentType), Model.DocType) }))
<input type="submit" name="Submit" value="Submit" />
</form>
Here is an executable you can run or copy into your solution and try out: https://dotnetfiddle.net/DXCcHp