适用于大型文本区域的MVC3 HTML Helper

时间:2011-10-25 19:53:19

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

我有一个html助手:

@Html.EditorFor(model => model.Description)

但它对于我的模型的属性中的数据来说太小了。 Descriptino是一个1000个字符的字符串。我需要用户能够输入几行文本并将其包装在HTML对象中。我该怎么做?

4 个答案:

答案 0 :(得分:25)

尝试

Html.TextAreaFor(model => model.Description, new {@cols="80" , @rows="4" })

答案 1 :(得分:6)

使用:

@Html.TextAreaFor(model => model.Description)

// or a full option-list is:
@Html.TextAreaFor(model => model.Description, 
    rows, // the rows attribute of textarea for example: 4
    columns, // the cols attribute of textarea for example: 40
    new { }) // htmlAttributes to add to textarea for example: @class = "my-css-class"

注意:您可以null使用new { }代替htmlAttributes,但不建议这样做!强烈建议使用空白new { } - 表示new object -

答案 2 :(得分:1)

您可以使用EditorFor,但在这种情况下,最好使用TextAreaFor或其他任何内容定义您自己的EditorTemplate来渲染TextArea。

TextAreaForEditorFor之间的主要区别在于,如果我很清楚一切是如何工作的,那么在使用EditorFor时,会考虑使用模板,而使用TextAreaFor时您选择用于渲染的HTML输入。

模板似乎很有趣,我只是开始着手编写自己的模板。

答案 3 :(得分:0)

听起来像是在Html.TextAreaFor之后。