15

我的视图中有一个使用 Razor 引擎实现的 TextArea() 控件。

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

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

4

5 回答 5

36

你可以这样做:

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

请注意这是一个 HTML5 属性

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

MDN


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

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

演示

于 2012-05-14T15:10:07.757 回答
6

这也适用于具有多个匿名类型的TextAreaFor助手new

确认在带有MVC 5Visual Studio 2015中可以正常工作

@Html.TextAreaFor(model => model.Comments, 5, 500, new {maxlength=4000,  @class = "form-control" })
于 2016-02-18T22:29:08.383 回答
1

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

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

        OR
@Html.TexareaFor(m=>m.Name,new{@maxlength="10"})
于 2015-01-23T07:09:52.997 回答
0
<p>Customer Number: @Html.TextBox("SearchString1",null, new {maxlength = 6})
 <input type="submit" value="Filter" /></p>

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

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

于 2012-08-10T21:24:27.647 回答
-1

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

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

于 2012-05-14T15:08:09.523 回答