基本上,我有一个包含多个这样的编辑器的表:
<table>
<tr>
<td>@Html.EditorFor(x => x.Random1)</td>
<td>@Html.EditorFor(x => x.Random2)</td>
</tr>
<tr>
<td colspan="2">@Html.EditorFor(x=> x.Random3)</td>
</tr>
</table>
现在,我的问题是,正如您可能已经从colspan =“2”中发现的那样,我希望我的第三个文本框一直延伸到两列。在普通的HTML中,自然只会添加一个width属性。是否有像DataType.MultilineText
这样的DataAnnotation可以改变编辑器的宽度?还有其他想法吗?
更新:如果我将其更改为TextBoxFor而不是EditorFor,我实际上可以添加@Html.TextBoxFor(x => x.Random, new { style = "width: 500px;" })
。
唯一的问题是,我有另一个文本框(让我们说random4),它以某种方式覆盖我的DataAnnotation MultilineText并使其成为一个普通的500px文本框。猜猜不得不深入了解CSS :(
答案 0 :(得分:1)
答案 1 :(得分:0)
最简单的解决方案是在css中设置控件的样式。对于random3文本框,使用input[type="text"]{width:1px}
和random4 multilinetext,使用textarea{width:1px}
答案 2 :(得分:-1)
在模型的属性中 - 在这种情况下,Random3给它一个注释
public class ViewModelName
{
[DataType(DataType.MultilineText)]
public string Random3 { get; set; }
}
然后当你可以使用Html.EditorFor(x =&gt; x.Random3)时,它会知道它需要是多行的