Html.LabelFor ayudante en MVC2
-
18-09-2019 - |
Pregunta
Estoy usando MVC2, Ver 2. Por qué es que cuando uso:
<%= Html.LabelFor(x => x.Nombres) %>
<%= Html.Encode(Model.Nombres) %>
Se da salida:
Nombre:
Sr. Fulano de Tal
Pero cuando se utiliza:
Nombres:
<%= Html.Encode(Model.Nombres) %>
da salida:
Nombre: Sr. Fulano de Tal
No quiero que el retorno después de la etiqueta. ¿Es mi CSS que está arruinando las cosas, o es el HTML.LabelFor que está produciendo el rendimiento adicional.
Solución
Esto es muy difícil de responder. Podría hacer con ver el código HTML real que está produciendo. Sospecho que las etiquetas se hacen flotar o la pantalla o bien: bloque en el css
.Otros consejos
Ver código le ayudará a saber cuál es la respuesta correcta es aquí. ¿Cuál es el código HTML generado en cada caso?
Sospecho que lo que está sucediendo aquí es que el elemento HTML generado por Html.LabelFor
se define, en su CSS, como bloque de elementos , lo que significa que el contenido posterior se iniciará en una nueva línea. Si esto es lo que está pasando, puede cambiar la CSS para aquellos elementos que utilizan display:inline;
y deben aparecer en la misma línea que el valor de su campo. También puede utilizar el atributo float
CSS para generar el mismo efecto, pero los flotadores son generalmente más difíciles de trabajar que display:inline
.
La salida HTML para su caso debe ser algo como: <label for="Nombres">Nombre</label>
.
Sin <br/>
se hace, por lo que la única respuesta debe estar en el CSS, como Justin dijo. Busque estilos css adjuntos a elementos "Etiqueta", o no tan probables, algo relacionado con "nombres".