简体   繁体   中英

Dropdown Selected item working in DropDownList but not in DropDownListFor - MVC

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM