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.

Foi útil?

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".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top