使用Html.EditorFor生成具有特定行数和列数的textarea

时间:2011-02-10 03:15:31

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

我知道您可以将DataType属性与EditorFor html帮助器一起使用,以指定模型实体的特定属性应显示为多行输入字段。

如果我想指定文本区域必须包含的行数和列数?

在模型中:

[DataType(DataType.MultilineText)]
public string HTMLText { get; set; }

在视图中:

@Html.EditorFor(x => x.HTMLText)

通缉结果:

<textarea id="HTMLText" rows="10" cols="40">value</textarea>

有没有办法在不使用@ Html.Textarea()助手的情况下生成这种代码?

3 个答案:

答案 0 :(得分:8)

不确定如何设置行和列,但您可以使用.multi-line类更改这些textareas的CSS。使用EditorFor时,此类将添加到textarea中,以便您可以指定该类中的宽度和高度以获得所需的尺寸。

.multi-line { height:5em; width:5em; }

答案 1 :(得分:1)

您可以在Razor / c#中指定行和col的属性大小和char等效项,即:

@Html.TextAreaFor(model => model.Longtext, new { htmlAttributes = new { @class = "ctrl-col2 ctrl-col1", @row = "4", @col = "30" } })

答案 2 :(得分:0)

当你有MVC 5时,看起来不再需要这个了 带有DataType.MultilineText字段的 @ Html.EditorFor