仅当用户选择的选项与值为 o(零)的选项不同时,是否可以使用数据注释属性来使下拉列表有效。值为o(零)的选项是“请选择一个帐户”,默认选中。我使用 [Required] 属性来验证这个下拉列表,但它没有任何效果,因为,正如我所说,默认情况下,值 o(零)的选项 - “请选择一个帐户” - 被选中。
问问题
2582 次
2 回答
1
就像是:
[Range(1, int.MaxValue, ErrorMessage = "Please enter a value bigger than {1}")]
public int Value { get; set; }
于 2012-09-21T12:43:54.617 回答
1
制作一个需要的下拉列表没有意义。您需要的是用户从下拉列表中选择一个非零值。所以应该需要的是 SelectedAccount 属性。您应该使用 MVC 帮助器方法将下拉选择的值绑定到 SelectedAccount 属性:
@Html.DropdownListFor(m => m.SelectedAccount, new SelectList(Model.Accounts))
我可能对语法不了解,但你可以查一下。
现在关于确保值不为零的其他问题。帐号是表示为数字还是可以包含非数字字符?如果它是一个数字,那么您应该在代码中这样表示它。如果它确实是一个字符串,那么下拉列表的第一个值应该是一个空字符串而不是零。
如果您确定它是一个数字,则使用 Range 注释来确保该值大于零:
[Required]
[Range(1, Int32.MaxValue)]
public string SelectedAccountNumber {get;set;}
希望有帮助!
于 2012-09-21T12:47:40.307 回答