2017-04-26 87 views
4

我有一个用剃刀创建的下拉列表,显示2个选项:“显示”或“隐藏”,它们分别具有“0”和“1”值。选择在页面加载剃须刀时选择哪个选项html.dropdownlistfor

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

if条件我做了可以设置在页面加载正确的价值,但我想知道是否有设置一个参数或其他选项的选择值的方式

任何信息会乐意aprreciated。

+0

我认为当您通过价值没有条件时将被选中 – Usman

+0

Valuer属性有几个值,或者这个属性只有值0或1? –

+0

m的value属性可以是1或0,我想向用户显示根据它选择的选项 –

回答

5

如果确定选择了哪个选项,则可以使用简写。

@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" }) 
+2

这里不需要使用三元运算符,您可以使用'Model.Valeur == 0'和'Model.Valeur!= 0' ;他们都会自己回复真或假 – Vaterrenanburg

+0

这对我的需求非常合适,所以谢谢,我做的唯一改变是我删除了三元运算符@Vaterrenanburg说 –

+0

@Vaterrenanburg你的权利,只需使用正确的数字(0或1)并忽略'?true:false'部分 –

相关问题