Html.LabelFor aiutante in MVC2
-
18-09-2019 - |
Domanda
sto usando MVC2, Preview 2. Perché è che quando uso:
<%= Html.LabelFor(x => x.Nombres) %>
<%= Html.Encode(Model.Nombres) %>
E 'uscite:
Nombre:
Sr. Fulano de Tal
Ma quando uso:
Nombres:
<%= Html.Encode(Model.Nombres) %>
emette:
Nombre: Sr. Fulano de Tal
Non voglio il ritorno dopo l'etichetta. E 'la mia CSS che sta rovinando le cose, o è il HTML.LabelFor che sta producendo l'extra rendimento.
Soluzione
Questo è veramente difficile rispondere. Potrebbe fare con il vedere il markup HTML attuale sta producendo. Ho il sospetto che le etichette sono o galleggiare o display: block nel css
.Altri suggerimenti
Visualizza origine vi aiuterà a sapere quale sia la risposta giusta è qui. Qual è il codice HTML generato in ogni caso?
Ho il sospetto che quello che sta succedendo qui è che l'elemento HTML generato da Html.LabelFor
è definito, nel CSS, come un blocco elemento , il che significa che la successiva contenuti inizierà su una nuova linea. Se questo è quello che sta succedendo, è possibile modificare il CSS per gli elementi da utilizzare display:inline;
e dovrebbero apparire sulla stessa linea come il valore del vostro campo. È inoltre possibile utilizzare l'attributo float
CSS per generare lo stesso effetto, ma galleggianti sono generalmente più difficili da lavorare rispetto display:inline
.
L'output HTML per il vostro caso dovrebbe essere qualcosa di simile: <label for="Nombres">Nombre</label>
.
No <br/>
è reso, quindi l'unica risposta deve trovarsi nel CSS, come Justin ha detto. Cercare stili CSS collegati a elementi di "definire", o non così probabile, qualcosa legato alla "Nombres".