Dropdown Selected项目在DropDownList中工作,但不在DropDownListFor - MVC中

时间:2014-10-30 10:25:43

标签: c# asp.net-mvc

我无法确定为什么DropDownListFor没有选择正确的选项。以下是我的代码,我已经硬编码'已选择'用于测试的值,但仍然在页面加载时我得到了'选择国家/地区'作为选定的值。

@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")

但是,同样适用于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")

请帮助。

2 个答案:

答案 0 :(得分:1)

当您使用强类型帮助程序时,所选选项将基于属性CountryID的实际值。因此,如果在将模型传递给视图之前在控制器中设置CountryID="UK",则将选择第二个选项。

答案 1 :(得分:0)

尝试以下方法:

@{
   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 --")