I am not able to identify why DropDownListFor is not selecting the correct option. Below is my code, I have hard-coded 'Selected' values for testing but still when page loads I am getting 'Select Country' as selected value.
@Html.DropDownListFor(x => x.CountryID,
new List<SelectListItem> {
new SelectListItem { Text = "USA", Value = "US", Selected = false},
new SelectListItem { Text = "UK", Value = "UK", Selected = true},
new SelectListItem { Text = "Australia", Value = "AUS", Selected = false }
},"Select Country")
But, same is working fine for DropDownList!
@Html.DropDownList("CountryID",
new List<SelectListItem> {
new SelectListItem { Text = "USA", Value = "US", Selected = false},
new SelectListItem { Text = "UK", Value = "UK", Selected = true},
new SelectListItem { Text = "Australia", Value = "AUS", Selected = false }
},"Select Country")
Please Help.
The selected option will be based on the actual value of property CountryID
when you use the strongly type helper. So if you set CountryID="UK"
in the controller before you pass the model to the view, then the second option will be selected.
Try the following:
@{
var listItems = new List<SelectListItem>
{
new SelectListItem { Text = "USA", Value = "USA" },
new SelectListItem { Text = "UK", Value = "UK", Selected = true },
new SelectListItem { Text = "Australia", Value = "AUS" }
};
}
@Html.DropDownListFor(x => x.CountryID, listItems, "-- Select Country --")
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.