Mam ApiController, który obsługuje XML / JSON, ale chciałbym, aby jedna z moich akcji zwróciła czysty HTML. Wypróbowałem poniższe, ale nadal zwraca XML / JSON.
public string Get()
{
return "<strong>test</strong>";
}
Oto, co zwraca powyższe:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string>
Czy istnieje sposób na zwrócenie samego czystego tekstu bez zmiany znaczenia, nawet bez otaczających tagów XML (może być inny zwracany typ atrybutu akcji)?
Inne możliwe rozwiązanie. W Web API 2 wykorzystałem metodę base.Content ()
APIController
:Musiałem to zrobić, aby ominąć błąd IE9, w którym ciągle próbowałem pobrać zawartość JSON. Powinno to również działać w przypadku danych typu XML przy użyciu programu
XmlMediaTypeFormatter
formatującego multimedia.Mam nadzieję, że to komuś pomoże.
źródło
Po prostu
return Ok(value)
nie zadziała, będzie traktowane jakoIEnumerable<char>
.Zamiast tego użyj
return Ok(new { Value = value })
lub simillar.źródło
Wywołuję następującą metodę kontrolera webapi2 z metody kontrolera mvc:
Wywołuję to z tej procedury na serwerze asp.net:
źródło
Jeśli używasz MVC zamiast WebAPI, możesz użyć metody base.Content:
źródło
Musimy starać się nie zwracać html, ale czyste dane z naszego API i odpowiednio sformatować dane w interfejsie użytkownika, ale może możesz użyć:
mi to pasuje
źródło