So deaktivieren Sie die HTML-Codierung für eine gesamte Razor-Ansicht

8

Wir verwenden Razor außerhalb des typischen MVC-Flusses. Unsere Razor Views werden innerhalb einer XSL-Transformation über eine C # -Erweiterung aufgerufen. Die Ausgabe der Razor-Ansicht wird als String an die xsl-Transformation zurückgegeben. In einigen Fällen erfassen wir das Ergebnis einer Razor-Ansicht in eine xsl-Variable und geben sie dann an unser Modell zurück, um sie als Daten in einer anderen Razor-Ansicht zu verwenden. Wenn dies geschieht, endet die erste Ansicht doppelt, einmal von Razor, das zweite Mal von der xsl-Transformation. Wir müssen Razor ausführen können, ohne dass es die Ausgabe codiert.

Ist das möglich? Wie würden wir darüber gehen?

    
gidmanma 11.01.2011, 15:35
quelle

2 Antworten

14

Da Sie die Codierung in Ihrer gesamten Ansicht deaktivieren möchten, wäre es am besten, eine eigene View-Basisklasse zu erstellen, die von WebPageBase erbt (und dann sollten Ihre Ansichten @inherits verwenden, um Ihren neuen Typ anzugeben) Write(object value) Methode, so dass stattdessen WriteLiteral() aufgerufen wird. Auf diese Weise wird die Ausgabe nicht codiert.

    
marcind 11.01.2011, 19:18
quelle
5

Außerdem würden Sie die Antwort oben so erreichen:

%Vor%

Dann können Sie aus Ihrer Sicht mit:

beginnen %Vor%     
Reddog 18.12.2013 02:57
quelle

Tags und Links