.Replace (Environment.NewLine, "& lt; br / & gt;") fonctionne sur localhost mais pas quand je télécharge mon site web pour héberger
Je n'ai aucune idée pourquoi. Voici mon code et il fonctionne parfaitement quand je l'ai essayer sur localhost, mais quand j'upload mon site, mon texte n'a pas de <br />
'. Pourquoi cela pourrait se produire? Et comment puis-je résoudre ce problème avec de nouvelles lignes? (white-space: pre-line;
n'est pas une solution pour moi, il ne fonctionne pas sur IE6 et c'est de jouer avec mes styles)
@Html.Raw(Html.Encode(Model.Body)
.Replace(Environment.NewLine, "<br />"))<br />
source d'informationauteur sed
Vous devez vous connecter pour publier un commentaire.
Comme BuildStarted mentionné dans les commentaires, les navigateurs peuvent soit envoyer
\r\n
ou\n
qui va casser, si vous utilisezEnvironment.NewLine
- et je ne pense pas que asp.net fixera avant l'exécution de votre code.Je vous suggère d'utiliser une expression régulière pour remplacer les retours à la ligne (à la place:
"\\r?\\n"
il doit correspondre à deux cas (je n'ai pas l'attendre de n'importe quel navigateur pour utiliser '\r').Je crois que cette réponse est la meilleure:
https://stackoverflow.com/a/8196219/550975
Est passé beaucoup de choses depuis IE6 (dieu merci!) donc, je voudrais juste mentionner le CSS solution au problème.
Dans votre C#:
Dans votre CSS:
De votre Rasoir:
Au lieu d'utiliser
Environment.NewLine
essayez ceci: