1

仅当用户选择的选项与值为 o(零)的选项不同时,是否可以使用数据注释属性来使下拉列表有效。值为o(零)的选项是“请选择一个帐户”,默认选中。我使用 [Required] 属性来验证这个下拉列表,但它没有任何效果,因为,正如我所说,默认情况下,值 o(零)的选项 - “请选择一个帐户” - 被选中。

4

2 回答 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 回答