选择在razor html.dropdownlistfor的页面加载中选择的选项

Lou*_*ier 4 asp.net-mvc html5 razor asp.net-mvc-5

我有一个用razor创建的下拉列表,它显示2个选项:"show"或"hide",它们各自的值为"0"和"1".

 if (Model.Valeur == 0)
 {
      @Html.DropDownListFor(m => m.Valeur,
      new List<SelectListItem> {
      new SelectListItem { Value = "0" , Text = "Show", Selected = true },
      new SelectListItem { Value = "1" , Text = "Hide" },
      }, new { @class = "myselect" })
 }
 else
 {
     @Html.DropDownListFor(m => m.Valeur,
     new List<SelectListItem> {
     new SelectListItem { Value = "0" , Text = "Show" },
     new SelectListItem { Value = "1" , Text = "Hide",  Selected = true },
     }, new { @class = "myselect" })
 }
Run Code Online (Sandbox Code Playgroud)

我做的if条件可以在页面加载时设置正确的值,但我想知道是否有办法用参数或其他选项设置所选值

任何信息都会很高兴得到批评.

Man*_*kas 5

您可以使用速记if来确定选择了哪个选项.

 @Html.DropDownListFor(m => m.Valeur,
 new List<SelectListItem> {
 new SelectListItem { Value = "0" , Text = "Show", Selected = Model.Valeur == 0 },
 new SelectListItem { Value = "1" , Text = "Hide", Selected = Model.Valeur != 0 },
 }, new { @class = "myselect" })
Run Code Online (Sandbox Code Playgroud)

  • 你不需要在这里使用三元运算符,而是可以使用`Model.Valeur == 0`和`Model.Valeur!= 0`; 他们都会自己回归真假. (2认同)