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?
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.
Außerdem würden Sie die Antwort oben so erreichen:
%Vor%Dann können Sie aus Ihrer Sicht mit:
beginnen %Vor%Tags und Links asp.net-mvc-3 c# razor