响应ContentType未更改

时间:2015-10-16 08:51:20

标签: json model-view-controller httpresponse

我上课了:

public class UploadResult
{
    public UploadResult()
    {

    }
    public bool success { get; set; }
    public string msg { get; set; }
}

然后在控制器方法内部我将此类作为json返回:

[HttpPost]
public UploadResult UploadFile()
{
    var jsResult = new UploadResult() { success = false, msg = "Test" };

    HttpContext.Current.Response.ContentType = "text/html";
    return jsResult;
}

由于IE不了解json文件类型,我想将contentType设置为“text / html”。在我的js库的文档中也需要contentType必须是“text / html”。

但是响应头的contentType是“application / json”。我怎么能改变呢?当我明确地将其设置为“text / html”时为什么它不起作用?

1 个答案:

答案 0 :(得分:0)

我搜索了许多类似的解决方案,但都不适合我。 然后我设法创造了一些最终可行的东西,也许会帮助某人:

我已从UploadResult更改为HttpResponseMessage并添加配置格式化程序:

 [HttpPost]
    public HttpResponseMessage UploadFile()
    {
       //some code here ....

       return new HttpResponseMessage()
        {
            Content = new ObjectContent<UploadResult>(jsResult, Configuration.Formatters[0], "text/html")
        };
    }

这适用于所有版本的IE。