【发布时间】:2012-06-02 19:32:32
【问题描述】:
这可能有点笼统,但我想限制编辑器字段中的字符数。
@html.EditorFor(m=>m.id,new {@maxlength="10"})
这似乎不起作用。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 editorfor
这可能有点笼统,但我想限制编辑器字段中的字符数。
@html.EditorFor(m=>m.id,new {@maxlength="10"})
这似乎不起作用。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 editorfor
试试改成
@Html.TextBoxFor(m=> m.id, new { maxlength="10" });
EditorFor 使用您可以自己覆盖的模板。我认为他们没有像这样考虑您传入的属性。 TextBoxFox 在代码中生成它,应该可以正常工作。
【讨论】:
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { placeholder = ViewData.ModelMetadata.Watermark }) 如何从元数据中获取“最大值”?
我能够使用 EditorFor 并使用多个属性使其在 IE11 中工作。
@Html.EditorFor(model => model.CourseNumber, new { htmlAttributes = new { @style = "width:100px", @maxlength="10" } })
【讨论】:
@Html.EditorFor(model => model.CourseNumber, new { htmlAttributes = new { maxlength=10 } })
在 MVC3 中,这样更好:
[StringLength(10, ErrorMessage = "Name cannot be longer than 10 characters.")]
public string Name { get; set; }
指定数据字段中允许的最小和最大字符长度。 就像这个https://stackoverflow.com/a/6802739/2127493
【讨论】:
MaxLength 和 StringLength 都没有添加属性maxlength,而我只得到了data-val-length-max 和data-val-maxlength-max。