我需要构建一个带有引导样式和一些HTML自定义属性的输入文本区域。这是我的代码:
@Html.EditorFor(model => model.Comments, new { style = "color: red; width: 400px", @class = "form-control", placeholder = "Enter detailed comments..."), type = "text" })
我的模型数据来自具有以下数据注释的viewmodel:
[DataType(DataType.MultilineText)]
public string Comments{ get; set; }
不幸的是,如果它是TextBoxFor,这不起作用。 EditorFor没有被设置样式,在一个简单的小默认HTML上显示。
我想知道如何解决这个问题?我正在使用MVC4,我现在无法转移到MVC5.1(这是一个要求。我知道MVC5.1在该领域有一些改进)。
答案 0 :(得分:2)
由于您使用MultilineText
属性,我认为您需要textarea?您只需将EditorFor
来电更改为TextAreaFor
:
@Html.TextAreaFor(model => model.Comments, new { style = "color: red; width: 400px", @class = "form-control", placeholder = "Enter detailed comments..."), type = "text" })
答案 1 :(得分:0)
您可以覆盖default editor template(~/Views/Shared/EditorTemplates/MultilineText.cshtml
):
<someboostraphtmlelements>
@Html.TextArea(
"",
ViewData.TemplateInfo.FormattedModelValue.ToString(),
ViewData
)
</someboostraphtmlelements>
从Darin Dimitrov Answer到同样的问题,这是无耻地被盗。