MVC3 - Übergabe von NEW-LINE an ModelState.AddModelError

8

Wenn ein Fehler im Back-End auftritt, gibt der MVC-Controller eine Nachricht über das
ModelState.AddModelError("", "message");

zurück

Ich möchte diese in zwei Zeilen anzeigen lassen , also möchte ich eine "\r\n"
setzen oder ein "<br />" dazwischen.

Ich verwende Razor, um die Nachricht mit @Html.ValidationSummary();
anzuzeigen Die HTML-Ausgabe aus der Ansicht zeigt dies jedoch als &lt;br/&gt;

an

Was ist der beste Weg, um New-Lines für eine Nachricht zu übergeben und sie in einem echten
-Tag auf der HTML-Ausgabestufe zu interpretieren?

p> %Vor%

Code anzeigen:

%Vor%     
SF Developer 16.11.2011, 18:10
quelle

4 Antworten

15

Der HTML-Code ValidationSummary codiert Fehlermeldungen, und dies ist beabsichtigt. Dies bedeutet, dass Sie keine HTML-Tags verwenden können, da diese codiert werden. So könnten Sie einen benutzerdefinierten Helfer schreiben, der nicht codiert:

%Vor%

und dann:

%Vor%

Es ist die folgende Zeile in unserem benutzerdefinierten Helfer, der explizit nicht HTML codiert:

%Vor%

Im Original-Helfer sieht das so aus:

%Vor%     
Darin Dimitrov 16.11.2011, 21:23
quelle
8

Versuchen Sie, die Validierungszusammenfassung in einem Html.Raw und einem Server.HtmlDecode wie folgt zu verpacken:

%Vor%     
counsellorben 16.11.2011 18:36
quelle
1

Dies ist eine späte Antwort, aber das ist das beste Ergebnis, wenn ich Google, also meine Lösung kann jemand helfen.

Ich ging das Problem um und fügte für jede Fehlermeldung eine separate Zeile hinzu. Schön dargestellt.

Controller-Code:

%Vor%     
gabnaim 18.12.2014 19:41
quelle
1

Controller:

%Vor%

Rasiermesser:

%Vor%     
ADH 25.03.2015 20:39
quelle

Tags und Links