2

我正在使用 MVC2,Preview 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 产生了额外的回报。

4

3 回答 3

4

这真的很难回答。可以查看它生成的实际 html 标记。我怀疑标签是浮动的或显示:css中的块。

于 2009-11-06T16:41:17.687 回答
0

查看源代码将帮助您了解这里的正确答案。每种情况下生成的 HTML 是什么?

我怀疑这里发生的事情是生成的 HTML 元素Html.LabelFor在您的 CSS 中定义为块元素,这意味着后续内容将在新行开始。如果发生这种情况,您可以更改要使用的这些元素的 CSS,display:inline;它们应该与您的字段值显示在同一行。您也可以使用floatCSS 属性来生成相同的效果,但浮动通常比display:inline.

于 2009-11-06T16:40:41.677 回答
0

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

于 2009-11-06T16:54:19.327 回答