如何在MVC中指定textarea的行cols?

时间:2011-12-29 09:31:06

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

在我的模型中我有这段代码:

[Required(ErrorMessage = "News content is required.")]

[DisplayName("News Content")]
[DataType(DataType.MultilineText)]
public string FullContent { get; set; }

[Required(ErrorMessage = "News summary is required.")]
[DisplayName("News Summary")]
[DataType(DataType.MultilineText)]
public string Summary { get; set; }  

在视图内部是:

<tr>
<td id="td-caption">Full Content</td>  
<td id="td-content2">@Html.EditorFor(model => model.FullContent)  @Html.ValidationMessageFor(model => model.FullContent)</td>  
</tr>  
<tr>
<td id="td-caption">Summary</td>
<td id="td-content2">@Html.EditorFor(model => model.Summary)@Html.ValidationMessageFor(model => model.Summary)</td>
</tr>  

在我的CSS里面:

textarea#FullContent, #Summary
{
width: 95%;
padding-top: 20px;
padding-left: 20px;
cols: 20;
rows: 20;
}  

但完全没有效果。我该怎么办?谢谢!

2 个答案:

答案 0 :(得分:4)

rowscols不是有效的CSS规则。它们是textarea元素的属性。但由于您使用的是en EditorFor助手,因此无法设置其值。您可以使用CSS中的widthheight属性来调整textarea的大小:

textarea#FullContent, #Summary {
    width: 90px;
    height: 200px;
    padding-top: 20px;
    padding-left: 20px;
}

答案 1 :(得分:2)

允许使用textarea指定行数的替代方法是:

@Html.TextAreaFor(model => model.Comments, new { @rows=10, @cols=40 })

来源:https://www.codeproject.com/Questions/596208/Html-BeginFormplusrowsplusandpluscols