C# 字段类必须是选择多个下拉列表时的数字
我正在装订下拉列表 模型侧C# 字段类必须是选择多个下拉列表时的数字,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我正在装订下拉列表 模型侧 public Registration() { Availableclass = new List<SelectListItem>(); } [Display(Name = "Class")] [Required(ErrorMessage = "Please Select {0}.")] public Nullable<int> ClassId { get; set
public Registration()
{
Availableclass = new List<SelectListItem>();
}
[Display(Name = "Class")]
[Required(ErrorMessage = "Please Select {0}.")]
public Nullable<int> ClassId { get; set; }
public IList<SelectListItem> Availableclass { get; set; }
但当我在下拉列表中选择Multiple时,它会显示验证,因为field类必须是一个数字
我如何摆脱此验证,并让我知道如何在控制器端传递下拉列表的多个选择数据当前您的属性类型是可为null的int,它可以存储
null
或单个int值
使用DropDownListFor
时,它会生成客户端验证所需的数据属性,以验证单个数字值。对于多选控件,所选值将是(所选值的)数组,因此会得到错误
对于multi-select,属性应为集合类型
public int?[] ClassId { get; set; }
我认为没有任何理由在这种情况下使用nullable int,因为它是一个集合。可以使用不可为null的int
public int[] ClassIds{ get; set; }
public int?[] ClassId { get; set; }
public int[] ClassIds{ get; set; }