Tru*_*an1 119 asp.net asp.net-mvc asp.net-mvc-4 asp.net-web-api
我有一个提供XML/JSON的ApiController,但我希望我的一个动作可以返回纯HTML.我尝试了下面但它仍然返回XML/JSON.
public string Get()
{
return "<strong>test</strong>";
}
Run Code Online (Sandbox Code Playgroud)
这就是上面的回报:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string>
Run Code Online (Sandbox Code Playgroud)
有没有办法只返回纯粹的,未转义的文本,甚至没有周围的XML标签(可能是一个不同的返回类型的动作属性)?
Dar*_*rov 211
您可以让您的Web Api操作返回HttpResponseMessage,您可以完全控制内容.在您的情况下,您可以使用StringContent并指定正确的内容类型:
public HttpResponseMessage Get()
{
return new HttpResponseMessage()
{
Content = new StringContent(
"<strong>test</strong>",
Encoding.UTF8,
"text/html"
)
};
}
Run Code Online (Sandbox Code Playgroud)
另一种可能的解决 在Web API 2中,我使用了base.Content()方法APIController:
public IHttpActionResult Post()
{
return base.Content(HttpStatusCode.OK, new {} , new JsonMediaTypeFormatter(), "text/plain");
}
Run Code Online (Sandbox Code Playgroud)
我需要这样做来解决一直在尝试下载JSON内容的IE9错误.这也适用于使用XmlMediaTypeFormatter媒体格式化程序的XML类型数据.
希望能帮助别人.
| 归档时间: |
|
| 查看次数: |
64901 次 |
| 最近记录: |