我正在使用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正在产生额外的回报。
答案 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”相关的东西。