Ich möchte etwas XML anstelle von HTML in meiner WebMatrix-cshtml-Datei zurückgeben? Wie ändern Sie den Inhaltstypheader?Wie legen Sie den Inhaltstyp für eine WebMatrix/Razor Response fest?
Antwort
die Response.ContentType Eigenschaft können Sie an der Spitze Ihrer .cshtml Datei enthält dann die XML in dem Inhalt der Ansicht:
@{
Response.ContentType = "application/xml";
}
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>415-123-4567</Dial>
</Response>
Wow !! Du hast deine Antwort so bearbeitet, dass sie zu meiner passt, anstatt meine als akzeptierte Antwort auszuwählen? Das ist kalt, Mann ... eiskalt. (Überprüfen Sie die Revisionen jeder) – Mike
Es ist ein Wiki, Sie sollten eine Bearbeitung vorgeschlagen oder kommentiert haben. Meines war veraltet, also habe ich es aktualisiert. –
An der Spitze der Razor-Datei, stellen Sie den Content der Antwort Objekt:
@{
Response.ContentType = "application/xml";
}
... xml here ...
Zu der Zeit schrieb ich die andere Antwort (erste Beta), dass Eigenschaft nicht zugänglich war. Ich werde das jetzt ausprobieren, danke! –
@John Wenn das oben genannte für Sie funktioniert, würden Sie die akzeptierte Antwort ändern? Das obige ist _möglicherweise_ korrekter, obwohl beide das gewünschte Ergebnis erzielen. –
Wenn Sie ASP.NET MVC verwenden, können Sie die Änderung in Ihrer Aktionsmethode in der Steuerung zu machen, etwa so:
public ActionResult MyAction() {
Response.ContentType = "text/xml";
return View();
}
Dies gilt nicht nur für einfache .cshtml-Dateien außerhalb von ASP.NET MVC –
Dank @JohnSheehan, habe ich meine Antwort aktualisiert, um diese Notiz zu enthalten. –
Ich musste das einfach herausfinden, also posten wir für andere, um die Antwort in der Zukunft zu finden. –