Ich habe einen ApiController, der XML / JSON bereitstellt, möchte jedoch, dass eine meiner Aktionen reines HTML zurückgibt. Ich habe das Folgende versucht, aber es gibt immer noch XML / JSON zurück.
public string Get()
{
return "<strong>test</strong>";
}
Dies ist, was das Obige zurückgibt:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string>
Gibt es eine Möglichkeit, nur den reinen, nicht entkappten Text ohne die umgebenden XML-Tags zurückzugeben (möglicherweise ein anderes Rückgabetyp-Aktionsattribut)?
Eine andere mögliche Lösung. In der Web-API 2 habe ich die base.Content () -Methode verwendet von
APIController
:Ich musste dies tun, um einen IE9-Fehler zu umgehen, bei dem immer wieder versucht wurde, JSON-Inhalte herunterzuladen. Dies sollte auch für XML-Daten mithilfe des
XmlMediaTypeFormatter
Medienformatierers funktionieren.Hoffe das hilft jemandem.
quelle
Funktioniert einfach
return Ok(value)
nicht, es wird behandelt alsIEnumerable<char>
.Verwenden
return Ok(new { Value = value })
Sie stattdessen oder ähnlich.quelle
Ich rufe die folgende webapi2-Controller-Methode von einer mvc-Controller-Methode auf:
Ich rufe es von dieser Routine auf dem asp.net-Server auf:
quelle
Wenn Sie MVC anstelle von WebAPI verwenden, können Sie die base.Content-Methode verwenden:
quelle
Wir müssen uns bemühen, nicht HTML, sondern reine Daten von unseren APIs zurückzugeben und Daten in der Benutzeroberfläche entsprechend zu formatieren, aber vielleicht können Sie Folgendes verwenden:
Für mich geht das
quelle