2012-04-07 7 views
2

In meiner Anmeldeform verwende ich asp.net unaufdringliche Überprüfung, um zu überprüfen, ob ein Benutzername existiert. Meine JsonResult Methode gibt die folgende, wenn ein Zusammenstoß gefunden:Html Codierung, die neue Zeilen in Chrome verursacht

This is already in use. How about \u003cstrong\u003efoo123\u003c/strong\u003e? 

ich Microsofts unaufdringlich Validierung verwenden, um dies in meiner Ansicht anzuzeigen:

@Html.ValidationMessageFor(m => m.Username) 

, die es wie folgt auf der Seite Quelle erscheinen lassen:

This is already in use. How about 
<strong>foo123</strong> 
? 

Wie Sie sehen können, ist der Text in drei Zeilen aufgeteilt. Dies ist in Firefox kein Problem, aber in Chrome bewirken diese neuen Zeilen, dass der angezeigte Text in ähnlicher Weise wie bei <br /> unterbrochen wird. Ich glaube, die Codierung ist dafür verantwortlich - kann jemand erklären, warum? Gibt es eine Lösung für dieses Problem?

Vielen Dank im Voraus.

+0

Können Sie den Code bereitstellen, wie Sie den JSON in HTML schieben? – usr

+0

@usr Ich habe meine Frage aktualisiert, um dies zu berücksichtigen, aber da es eingebaute Funktionalität ist, befürchte ich, dass es nicht viel nutzt. – Jonathan

Antwort

0

Wenn sie mit Zeilenumbrüchen auf der aktuellen Seite angezeigt werden, dann erstes, was ich tun würde, ist <strong/> Tag prüfen und sehen, ob es eine CSS ist, dass es als display:block; definiert oder überschreibt white-space Eigenschaft.

Wenn Sie besorgt über die Ausgabe des DOM-Explorers sind ... So zeigt Chrome DOM-Bäume. Diese drei Zeilen sind jeweils einzelne Knoten (2 Textknoten und ein Elementknoten), so dass sie als gleich behandelt werden. Wenn Sie den ersten Absatz meiner Antwort einsehen, werden Sie das Gleiche sehen.

0

Ohne es auszuprobieren, könnten Sie versuchen, neue Zeilen in der Zeichenfolge durch ... nichts zu ersetzen?

Fühlt sich wirklich seltsam an, das wäre das Problem, obwohl es nur in Chrome ist, überprüfen Sie die CSS-Regeln. Oder einfach die Validierungsnachricht in einem P-Tag umgeben?

0

versuchen, mit CSS zu optimieren.

\u003cdiv\u003e 
    This is already in use. How about \u003cstrong\u003efoo123\u003c/strong\u003e? 
\u003c/div\u003e? 

Ich denke, das ist wegen der einige Polsterung Problem. Laden Sie den generierten HTML-Code der Seite hoch.