关于 Html.Editor 助手 (MVC3) 的简单 Razor 问题

发布于 2024-11-26 09:25:03 字数 697 浏览 1 评论 0原文

基本上,我有一个包含多个编辑器的表,如下所示:









@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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

野却迷人 2024-12-03 09:25:03

您可能会发现此问题的一些答案很有用。

模板的好处是,如果您不喜欢它们的工作方式,您可以简单地插入自己的实现。

您还可以尝试使用 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.

煞人兵器 2024-12-03 09:25:03

最简单的解决方案是在 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 use textarea{width:1px}

z祗昰~ 2024-12-03 09:25:03

在模型的属性中 - 在本例中 Random3 给它一个注释

public class ViewModelName
{
    [DataType(DataType.MultilineText)]
    public string Random3 { get; set; }
}

,然后当您可以 Html.EditorFor(x => x.Random3) 时,它会知道它需要是多行的

In the Property of the Model - in this case Random3 give it an annotation

public class ViewModelName
{
    [DataType(DataType.MultilineText)]
    public string Random3 { get; set; }
}

then when you can the Html.EditorFor(x => x.Random3) it will know it needs to be multiline

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文