在經典的ASP.NET Web窗體視圖引擎中,我們可以將.aspx頁面中的ContentType設置爲所需的類型。如何在剃鬚刀中設置contenttype(CSHTML)?
在剃刀中是否有直接/推薦的等價物?
在經典的ASP.NET Web窗體視圖引擎中,我們可以將.aspx頁面中的ContentType設置爲所需的類型。如何在剃鬚刀中設置contenttype(CSHTML)?
在剃刀中是否有直接/推薦的等價物?
您應該在您的操作方法中設置不同的內容類型。
public ActionResult MyAction() {
Response.ContentType = "something";
return View();
}
,將工作我只是測試它,你也可以將下面的行添加到您的CSHTML:
Response.ContentType = "application/javascript";
,使其看起來是這樣的:
@{
ViewBag.Title = "Home Page";
Response.ContentType = "application/javascript";
}
它只是取決於您希望進行更改的位置。
使用此:
return Content(json, "application/json");
哦...我發現這個通過谷歌卻很少有人說,這沒有奏效。感謝您的快速回答marcind :) – kidoman 2010-12-10 19:44:27
一個後續問題...我應該在控制器還是視圖中執行? @ {Response.ContentType =「...」; }我猜想在視圖中更好。 – kidoman 2010-12-10 19:47:10
如果你遵循分離的關注原則,那麼我會爭辯說,這個觀點是錯誤的地方。視圖的責任是呈現對輸出流的響應。如果這是一次性的事情,我個人會採取類似上述的行動方法。如果我有多個需要自定義內容類型的視圖,那麼我會編寫自己的類,該類從'ViewResult'派生並返回,而不是'View()'。但是,您可以*在視圖本身中編寫此代碼,因此最終是一個偏好問題。最後,你應該做什麼得到你的工作完成:) – marcind 2010-12-10 20:06:49