Html.LabelFor aide à MVC2
-
18-09-2019 - |
Question
J'utilise MVC2, Aperçu 2. Pourquoi est-ce que quand je l'utilise:
<%= Html.LabelFor(x => x.Nombres) %>
<%= Html.Encode(Model.Nombres) %>
Il produit:
Nombre:
Sr. Fulano de Tal
Mais quand je l'utilise:
Nombres:
<%= Html.Encode(Model.Nombres) %>
il affiche:
Nombre: Sr. Fulano de Tal
Je ne veux pas le retour après l'étiquette. Est-ce mon CSS qui est en train de ruiner les choses, ou est-ce le HTML.LabelFor qui produit le retour supplémentaire.
La solution
Ceci est vraiment difficile de répondre. Pourrait faire de voir le balisage HTML réel, il est produit. Je soupçonne que les étiquettes sont soit flottaient ou display: block dans le css
.Autres conseils
Afficher la source vous aidera à savoir ce que la bonne réponse est ici. Quel est le code HTML généré dans chaque cas?
Je pense que ce qui se passe ici est que l'élément HTML généré par Html.LabelFor
est défini, dans votre CSS, comme élément bloc , ce qui signifie que le contenu ultérieur commencera sur une nouvelle ligne. Si c'est ce qui se passe, vous pouvez changer le CSS pour les éléments à utiliser display:inline;
et ils devraient apparaître sur la même ligne que la valeur de votre champ. Vous pouvez également utiliser l'attribut CSS float
pour générer le même effet, mais les flotteurs sont généralement plus difficiles à travailler que display:inline
.
La sortie HTML pour votre cas doit être quelque chose comme: <label for="Nombres">Nombre</label>
.
Non <br/>
est rendu, donc la seule réponse doit se situer dans le CSS, comme l'a dit Justin. Recherchez les styles CSS attachés à des éléments « étiquette », ou pas probables, quelque chose lié à « » Nombres.