2015-10-16 61 views
0

我有类:响应的ContentType不改变

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”时它不起作用?

回答

0

我已经搜索了很多类似的解决方案,但都不适合我。 然后,我必须设法创造的东西,终于工作正常,也许会帮助别人:

我从UploadResult改为HttpResponseMessage和添加配置格式:

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

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

这非常适用于IE浏览器的所有版本。