关于 Html.Editor 助手 (MVC3) 的简单 Razor 问题
基本上,我有一个包含多个编辑器的表,如下所示:
@Html.EditorFor(x => x.Random1) @Html.EditorFor(x => x.Random2) @Html.EditorFor(x=> x.Random3)
现在,我的问题是,正如您可能已经从 colspan="2" 中发现的那样,我希望我的第三个文本框一直延伸到两列。在普通的 HTML 中自然会添加一个 width 属性。是否有像 DataType.MultilineText 这样的 DataAnnotation 可以更改编辑器的宽度?还有其他想法吗?
更新:如果我将其更改为 TextBoxFor 而不是 EditorFor,我实际上可以添加 @Html.TextBoxFor(x => x.Random, new { style = "width: 500px;" })
。
唯一的问题是,我有另一个文本框(比如说 random4),它以某种方式覆盖我的 DataAnnotation MultilineText 并使其成为一个普通的 500px 文本框。我猜我必须深入研究 CSS :(
Basically, I have a table with multiple editors like this:
<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>
Now, my problem is, as you probably already figured out from the colspan="2", is that I want my third textbox to stretch all the way thorugh the two columns. In normal HTML is would naturally just add a width attribute. Is there a DataAnnotation like DataType.MultilineText
that can change the width of the editors? Any other ideas?
UPDATE: If I change it to a TextBoxFor instead of EditorFor, I can actually add @Html.TextBoxFor(x => x.Random, new { style = "width: 500px;" })
.
Only problem is, I have another textbox (lets say random4) and it somehow overrides my DataAnnotation MultilineText and makes it a plain 500px textbox. Guess ill have to digg into the CSS :(
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能会发现此问题的一些答案很有用。
模板的好处是,如果您不喜欢它们的工作方式,您可以简单地插入自己的实现。
您还可以尝试使用 CSS 根据控件的 ID 指定其宽度。
You might find some of the answers to this question useful.
The good thing about templates is that if you don't like the way they work, you can simply drop-in your own implementation.
You can also try using CSS to specify the width for your control, based on it's ID.
最简单的解决方案是在 css 中设置控件的样式。对于 random3 文本框,我将使用
input[type="text"]{width:1px}
,对于 random4 多行文本,我将仅使用textarea{width:1px}
Easiest solution is to just style the control in the css. For the random3 textbox ill use
input[type="text"]{width:1px}
and for the random4 multilinetext, ill use just usetextarea{width:1px}
在模型的属性中 - 在本例中 Random3 给它一个注释
,然后当您可以 Html.EditorFor(x => x.Random3) 时,它会知道它需要是多行的
In the Property of the Model - in this case Random3 give it an annotation
then when you can the Html.EditorFor(x => x.Random3) it will know it needs to be multiline