Spe*_*ick 7 html asp.net razor asp.net-mvc-3
我正在使用MVC3的Razor引擎来生成视图,并使用以下代码行生成文本框
@Html.EditorFor(model => model.AddressLine1)
Run Code Online (Sandbox Code Playgroud)
在相关模型中,我使用数据注释属性将可接受字符数限制为55:
[StringLength(55)]
public string AddressLine1 { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是,这允许用户输入更长的地址,然后在尝试提交表单时通过验证消息告知.如何将文本框限制为55个字符,以便用户无法输入更多内容?
如果我自己生成文本框,我会使用maxlength属性作为输入类型,但我不知道如何使用Html.EditFor方法获得相同的结果.
@Html.TextBoxFor(model => model.AddressLine1, new {maxlength = 55})
Run Code Online (Sandbox Code Playgroud)
maxlength
如果type属性的值是text,email,search,password,tel或url,则此属性指定用户可以输入的最大字符数(以Unicode代码点为单位); 对于其他控件类型,它将被忽略.
您也可以在不更改DOM的情况下使用jQuery:
$('#AddressLine1').keypress(function(){
return this.value.length < 55
})
Run Code Online (Sandbox Code Playgroud)
使用maxlength和TextBoxFor而不是EditorFor
EditorFor 没有超载允许这样做.
这对你来说可能更有趣: 来自Asp.Net MVC中DataAnnotations StringLength的文本框的maxlength属性
| 归档时间: |
|
| 查看次数: |
27772 次 |
| 最近记录: |