我一直在尝试使用此代码来设置我的最小值和最大值EditorFor
:
但没有成功.永远不会设置最小值和最大值.我尝试删除引用,0
并20
尝试使用和不使用@
.
有任何想法吗?
只需Range
在模型属性上使用DataAnnotation属性即可.通过使用此属性,您可以限制用户输入不属于该范围的任何其他数字.
导入以下命名空间 -
using System.ComponentModel.DataAnnotations; using System.ComponentModel;
然后用Range
属性装饰你的属性 -
[Range(0,20)] public int SelectedYearBegin { get; set; }
有关范围属性的更多信息 - https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.rangeattribute(v=vs.110).aspx
您可以通过在Web.config中启用它来获得客户端验证 -
确保链接JQuery不引人注目并验证JS文件.
或者,如果你仍想设置min
和max
for EditorFor
,那么你需要获得MVC 5.1或更高版本.下面的代码适用于MVC 5.1及更高版本.
@Html.EditorFor(model => model.SelectedYearBegin, new { htmlAttributes = new { @min = "0", @max = "20" } })
如果您不想使用MVC 5.1及更高版本,那么只需使用TextBoxFor
-
@Html.TextBoxFor(model => model.SelectedYearBegin, new { type = "number", min = 0, max = 100 })