Html.LabelFor helper em MVC2
-
18-09-2019 - |
Pergunta
Eu estou usando MVC2, visualização 2. Por que é que quando eu uso:
<%= Html.LabelFor(x => x.Nombres) %>
<%= Html.Encode(Model.Nombres) %>
Ele produz:
Nombre:
Sr. Fulano de Tal
Mas quando eu uso:
Nombres:
<%= Html.Encode(Model.Nombres) %>
ele gera:
Nombre: Sr. Fulano de Tal
Eu não quero o retorno após o rótulo. É minha CSS que está arruinando as coisas, ou é o HTML.LabelFor que está produzindo o retorno extra.
Solução
Este é realmente difícil de responder. Poderia fazer com vendo a marcação html real que está produzindo. Eu suspeito que os rótulos são ou flutuou ou display:. Bloco no css
Outras dicas
View Source irá ajudá-lo a saber o que a resposta certa é aqui. Qual é o HTML gerado em cada caso?
Eu suspeito que o que está acontecendo aqui é que o elemento HTML gerado pelo Html.LabelFor
é definido, no seu CSS, como bloco elemento , o que significa que o conteúdo subseqüente vai começar em uma nova linha. Se é isso que está acontecendo, você pode alterar o CSS para esses elementos para uso display:inline;
e eles devem aparecer na mesma linha que o valor da sua área. Você também pode usar o atributo float
CSS para gerar o mesmo efeito, mas flutuadores são geralmente mais difícil de trabalhar do que display:inline
.
A saída HTML para o seu caso deve ser algo como: <label for="Nombres">Nombre</label>
.
Sem <br/>
é processado, então a única resposta deverá ser, em CSS, como Justin disse. Olhar para estilos CSS ligados a elementos "label", ou não tão prováveis, algo relacionado a "Nombres".