Tengo un ApiController que sirve XML / JSON, pero me gustaría que una de mis acciones devuelva HTML puro. Intenté lo siguiente pero aún devuelve XML / JSON.
public string Get()
{
return "<strong>test</strong>";
}
Esto es lo que devuelve lo anterior:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string>
¿Hay alguna manera de devolver solo el texto puro y sin escape sin siquiera las etiquetas XML circundantes (tal vez un tipo de atributo de acción de retorno diferente)?
Otra posible solución. En Web API 2 utilicé el método base.Content () de
APIController
:Necesitaba hacer esto para evitar un error de IE9 en el que seguía intentando descargar contenido JSON. Esto también debería funcionar para datos de tipo XML utilizando el
XmlMediaTypeFormatter
formateador de medios.Espero que ayude a alguien.
fuente
Simplemente
return Ok(value)
no funcionará, será tratado comoIEnumerable<char>
.En su lugar, use
return Ok(new { Value = value })
o simillar.fuente
Llamo al siguiente método de controlador webapi2 desde un método de controlador mvc:
Lo llamo desde esta rutina en el servidor asp.net:
fuente
Si está utilizando MVC en lugar de WebAPI, puede utilizar la base. Método de contenido:
fuente
Debemos esforzarnos por no devolver html sino datos puros de nuestras API y formatear los datos en consecuencia en la interfaz de usuario, pero tal vez pueda usar:
esto funciona para mi
fuente