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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top