J'ai un ApiController qui sert XML / JSON, mais j'aimerais que l'une de mes actions renvoie du HTML pur. J'ai essayé ce qui suit mais il renvoie toujours XML / JSON.
public string Get()
{
return "<strong>test</strong>";
}
Voici ce que renvoie ce qui précède:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string>
Existe-t-il un moyen de renvoyer uniquement le texte pur et sans échappement sans même les balises XML environnantes (peut-être un type d'attribut d'action de retour différent)?
Une autre solution possible. Dans Web API 2, j'ai utilisé la méthode base.Content () de
APIController
:J'avais besoin de faire cela pour contourner un bogue IE9 où il essayait de télécharger du contenu JSON. Cela devrait également fonctionner pour les données de type XML à l'aide du
XmlMediaTypeFormatter
formateur multimédia.J'espère que cela aide quelqu'un.
la source
Juste
return Ok(value)
ne fonctionnera pas, il sera traité commeIEnumerable<char>
.Utilisez plutôt
return Ok(new { Value = value })
ou simillar.la source
J'appelle la méthode de contrôleur webapi2 suivante à partir d'une méthode de contrôleur mvc:
Je l'appelle à partir de cette routine sur le serveur asp.net:
la source
Si vous utilisez MVC plutôt que WebAPI, vous pouvez utiliser la méthode base.Content:
la source
Nous devons nous efforcer de ne pas renvoyer du html mais des données pures de nos API et de formater les données en conséquence dans l'interface utilisateur, mais vous pouvez peut-être utiliser:
ça marche pour moi
la source