如何使用razor引擎在View中为TextAreaFor添加maxlength

时间:2012-05-14 15:07:14

标签: html asp.net-mvc asp.net-mvc-3 razor

我在使用Razor Engine实现的View中有一个TextArea()控件。

@Html.TextArea("EventNature",new { style = "width: 200px; height: 100px;" })

如何设置此控件的Maxlength属性?
RazorEngine中是否有内置的属性,还是必须使用脚本?

5 个答案:

答案 0 :(得分:32)

你可以这样做:

@Html.TextArea("EventNature",new { maxlength=50, // or other value
                                  style = "width: 200px; height: 100px;" })

请注意,这是一个HTML5属性

  

maxlength HTML5
  用户可以输入的最大字符数(Unicode代码点)。如果未指定,则用户可以输入无限数量的字符。

MDN


Javascript(使用jQuery)验证HTML< 5:

$('#EventNature').keypress(function(){
    if (this.value.length >= 10) // allowing you to enter only 10 chars.
    return false;        
});​

DEMO

答案 1 :(得分:3)

这也适用于new

中具有多个匿名类型的 TextAreaFor 帮助程序 使用 MVC 5 确认 正常工作 正常工作
@Html.TextAreaFor(model => model.Comments, 5, 500, new {maxlength=4000,  @class = "form-control" })

答案 2 :(得分:1)

您还可以限制文本框的长度,如下所示:

<textarea id="EventNature1" maxlength="10"></textarea>

        OR
@Html.TexareaFor(m=>m.Name,new{@maxlength="10"})

答案 3 :(得分:0)

<p>Customer Number: @Html.TextBox("SearchString1",null, new {maxlength = 6})
 <input type="submit" value="Filter" /></p>

上面是一个示例,我可以限制输入的最大允许字符数。在使用.Net环境时显示可以浏览的提示非常有用。 (*注意,这不会在物理上改变文本框的大小)

“SearchString1”=字符串名称----- null =对象值------ new {maxlength = 6} = object htmlAttributes

答案 4 :(得分:-1)

  

如何设置此控件的Maxlength属性?

maxlength属性对<textarea>元素无效。这不是ASP.NET MVC限制。在HTML规范中,此属性仅针对简单文本输入字段定义。如果要限制用户可以在textarea中键入的字符数,可以使用javascript。