TextBoxFor Mulitline

use*_*472 11 c# asp.net razor asp.net-mvc-3

嗨,我已经在这里工作了5天,并且找不到解决方案我试图让这个去多线,@Html.TextBoxFor(model => model.Headline, new { style = "width: 400px; Height: 200px;"})但我没有运气.

以下是我尝试的内容:

@Html.TextBoxFor.Multiline (does not work)
Run Code Online (Sandbox Code Playgroud)

我把Multiline放在了新的结尾,但是没有用.这样做最简单的方法是什么.

谢谢,我使用的是MVC3 C#

Dar*_*rov 48

你可以使用TextAreaFor帮手:

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

但更好的解决方案是Headline使用[DataType]指定要将其呈现为以下内容的属性来装饰视图模型属性<textarea>:

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

    ...
}
Run Code Online (Sandbox Code Playgroud)

然后使用EditorFor帮助器:

<div class="headline">
    @Html.EditorFor(model => model.Headline)
</div>
Run Code Online (Sandbox Code Playgroud)

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

div.headline {
    width: 400px;
    height: 200px;
}
Run Code Online (Sandbox Code Playgroud)

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

  • textarea将是你想要的多线表格领域.调整大小是在不同浏览器中发生的事情,Firefox和Chrome都会允许这种情况发生在IE不会发生的地方. (2认同)
  • 我知道这是一个古老的帖子,但它是"razor multiline textboxfor"的顶级搜索结果,我只是想补充说CSS选择器是错的,应该是`div.headline textarea` (2认同)