Html.Label在MVC2中的助手

时间:2009-11-06 16:17:33

标签: html css asp.net-mvc-2

我正在使用MVC2,预览2.当我使用时为什么呢?

        <%= Html.LabelFor(x => x.Nombres) %>
        <%= Html.Encode(Model.Nombres) %>

输出:

Nombre:
Sr. Fulano de Tal

但是当我使用时:

        Nombres:
        <%= Html.Encode(Model.Nombres) %>

输出:

Nombre: Sr. Fulano de Tal

我不希望在标签后返回。是我的CSS破坏了什么,还是HTML.LabelFor正在产生额外的回报。

3 个答案:

答案 0 :(得分:4)

这真的很难回答。可以看到它正在生成的实际html标记。我怀疑标签是浮动的还是显示的:阻塞在css中。

答案 1 :(得分:0)

查看来源会帮助您了解正确的答案。每种情况下生成的HTML是什么?

我怀疑这里发生的事情是Html.LabelFor生成的HTML元素在CSS中定义为block element,这意味着后续内容将从新行开始。如果发生了这种情况,您可以更改要使用display:inline;的元素的CSS,它们应显示在与字段值相同的行上。您还可以使用float CSS属性生成相同的效果,但浮点数通常比display:inline更难处理。

答案 2 :(得分:0)

您的案例的HTML输出应该是:<label for="Nombres">Nombre</label>。 没有<br/>被渲染,所以唯一的答案应该在于CSS,就像Justin说的那样。寻找附加到“标签”元素的CSS样式,或者不太可能,与“Nombres”相关的东西。