2015-10-16 71 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瀏覽器的所有版本。