Leere erste Zeile im Rasierer mvc 4 rc

8

Ich habe von mvc 3 zu mvc 4 migriert und bin mit folgendem Problem gestanden.

%Vor%

Das ist meine Ansicht. Mein Layout ist nur eine Zeile

%Vor%

Also in mvc erschien 3 <?xml version="1.1" encoding="UTF-8" ?> in der ersten Zeile, aber jetzt erscheint es in der zweiten Zeile und lässt die erste Zeile leer.

Kann ich es in der ersten Zeile rendern, so wie es in mvc 3 war?

Übrigens.

%Vor%

Das würde funktionieren, aber das ist nicht das was ich tun soll.

    
er-v 04.07.2012, 11:02
quelle

8 Antworten

6

Vorübergehende Reparatur? ActionFilter und strippe die leere erste Zeile aus? Natürlich könnten Sie auch andere Minification auf die Antwort tun, wenn geeignet.

%Vor%

Und fügen Sie es der Controller-Methode hinzu?

%Vor%     
Phil 13.07.2012, 12:32
quelle
6

Ich stieß auf ein ähnliches Problem mit Leerzeilen oben auf der Seite, wenn ich versuchte, eine Cache-Manifestdatei zurückzugeben. Lösung, Fügen Sie einen Response.Write ("...") hinzu, dieser befindet sich in der ersten Zeile der Seite.

%Vor%     
Derrick Hampton 23.09.2014 19:49
quelle
4

Ich weiß, dass dies eine alte Frage ist, aber ich habe sie gefunden, als ich nach einer Lösung für dieses Problem suchte. Da niemand eine einfache Lösung hat, hier ist meins:

Ich konnte das beheben, indem ich eine Teilansicht anstelle einer normalen Ansicht verwendete. Ich glaube, dass das Problem auf das Layout zurückzuführen ist, selbst wenn Sie es auf null setzen, scheint es immer noch eine leere erste Zeile hinzuzufügen. Das @ {} zeigt auch eine leere Zeile an, also müssen Sie es an den unteren Rand Ihrer Ansicht verschieben.

Fügen Sie also nur eine Teilansicht hinzu und lassen Sie Ihren Controller die Teilansicht als solche zurückgeben:

%Vor%

Dann müssen Sie es in Ihrer Teilansicht so einrichten (mit Ihrem @ {} unten):

%Vor%

Dies führt zu einer HTML-Quelle von:

%Vor%

Ich hoffe, das hilft anderen, die auf dieses Problem stoßen.

    
JoeyZero 01.10.2014 23:09
quelle
2

Ich weiß, dass du vorgeschlagen hast, das Tag an das Ende von @{} zu verschieben, aber warum nicht vorher platzieren. Darüber hinaus verursacht dieses Leerzeichen einen Fehler oder ein Problem? Sie können deutlich sehen, dass es wegen Leerzeichen ist, die von Ihrem Code und nicht von MVC oder Rasierer erstellt werden.

Vielleicht in etwa so:

%Vor%     
Travis J 16.07.2012 22:33
quelle
2

Keine der oben genannten Lösungen funktionierte für mich, also nachdem ich lange Zeit versucht habe, es zu reparieren - es sollte sehr einfach sein, da es nur eine leere Zeile ist - ich habe einen Blogbeitrag darüber geschrieben.

Ссылка

    
Adauto 07.02.2014 19:25
quelle
2

Ich habe das ähnliche Problem auf diese Weise gelöst:

_ViewStart.cshtml

%Vor%

Ein weiterer .cshtml

%Vor%

Schließlich ist es sinnvoll, einen gemeinsamen DOCTYPE an einer Stelle zu definieren.

    
Miroslav Holec 05.08.2015 12:11
quelle
1

Eine weitere einfache Lösung ohne den ResponseFilter. Setzen Sie einfach das @ using am Ende der cshtml-Datei:

%Vor%     
bchhun 31.08.2012 17:13
quelle
1

Wenn du bewegst:

%Vor%

an der Spitze einer Layout-Vorlage, dann haben Sie Ihre XML-Seite erben, und geben Sie Ihre XML-Daten, es sollte funktionieren.

    
ranjez 13.03.2014 08:20
quelle

Tags und Links