多行文本框

本文关键字:文本 | 更新日期: 2023-09-27 18:19:54

大家好,我已经做了大约5天了,找不到解决方案,我正试图让它在多行@Html.TextBoxFor(model => model.Headline, new { style = "width: 400px; Height: 200px;"})上运行,但我运气不好。

以下是我尝试的:

@Html.TextBoxFor.Multiline (does not work)

我已经把Multiline放在了new的末尾,但这并没有奏效。做这件事最简单的方法是什么。

谢谢,我正在使用MVC3 C#

多行文本框

您可以使用TextAreaFor助手:

@Html.TextAreaFor(
    model => model.Headline, 
    new { style = "width: 400px; height: 200px;" }
)

但是一个更好的解决方案是用[DataType]属性装饰Headline视图模型属性,指定要将其渲染为<textarea>:

public class MyViewModel
{
    [DataType(DataType.MultilineText)]
    public string Headline { get; set; }
    ...
}

然后使用EditorFor助手:

<div class="headline">
    @Html.EditorFor(model => model.Headline)
</div>

最后在CSS文件中指定其样式:

div.headline {
    width: 400px;
    height: 200px;
}

现在你有了一个适当的关注点分离。