我有一个视图模型类:
public class TankDurationViewModel
{
public int selectedTankFactor { get;set; }
public List<SelectListItem> tank_factor_list { get; set; }
public double? myAnswer { get; set; }
public TankDurationViewModel()
{
this.tank_factor_list = new List<SelectListItem>();
this.tank_factor_list.Add(new SelectListItem { Text = "E", Value = "0.28" });
this.tank_factor_list.Add(new SelectListItem { Text = "H", Value = "3.14" });
}
}
查看:
@Html.DropDownListFor(x=>x.selectedTankFactor,Model.tank_factor_list,"Tank Type")
当我提交时,我的selectedTankFactor将不会绑定。我将永远为0.当我查看formcollection时,选择是在formcollection中。如果我将int selectedTankFactor更改为字符串,它将正确绑定但这不是我想要的。这与我如何初始化SelectListItem有关吗?我如何让它绑定int? SelectListItem只接受字符串作为值。另外,如何强制用户在提交之前选择“坦克类型”以外的选择?
答案 0 :(得分:0)
将selectedTankFactor
设为小数,如果您不希望用户在未选择储罐类型的情况下提交表单,请将所需的验证添加到selectedTankFactor属性。您还必须包含client side validations的jquery验证库。
[Required]
public decimal selectedTankFactor { get;set; }