2010-12-10 76 views

回答

15

您應該在您的操作方法中設置不同的內容類型。

public ActionResult MyAction() { 
    Response.ContentType = "something"; 
    return View(); 
} 
+0

哦...我發現這個通過谷歌卻很少有人說,這沒有奏效。感謝您的快速回答marcind :) – kidoman 2010-12-10 19:44:27

+0

一個後續問題...我應該在控制器還是視圖中執行? @ {Response.ContentType =「...」; }我猜想在視圖中更好。 – kidoman 2010-12-10 19:47:10

+1

如果你遵循分離的關注原則,那麼我會爭辯說,這個觀點是錯誤的地方。視圖的責任是呈現對輸出流的響應。如果這是一次性的事情,我個人會採取類似上述的行動方法。如果我有多個需要自定義內容類型的視圖,那麼我會編寫自己的類,該類從'ViewResult'派生並返回,而不是'View()'。但是,您可以*在視圖本身中編寫此代碼,因此最終是一個偏好問題。最後,你應該做什麼得到你的工作完成:) – marcind 2010-12-10 20:06:49

13

,將工作我只是測試它,你也可以將下面的行添加到您的CSHTML:

Response.ContentType = "application/javascript"; 

,使其看起來是這樣的:

@{ 
    ViewBag.Title = "Home Page"; 
    Response.ContentType = "application/javascript"; 
} 

它只是取決於您希望進行更改的位置。

0

使用此:

return Content(json, "application/json"); 
相關問題