従来のASP.NET Webフォームビューエンジンでは、.aspxページのContentTypeを目的のタイプに設定できます。かみそり(CSHTML)にcontenttypeを設定するには?
Razorに直接/推奨される同等品はありますか?
従来のASP.NET Webフォームビューエンジンでは、.aspxページのContentTypeを目的のタイプに設定できます。かみそり(CSHTML)にcontenttypeを設定するには?
Razorに直接/推奨される同等品はありますか?
アクションメソッドで異なるコンテンツタイプを設定する必要があります。私はちょうどそれをテスト動作します
public ActionResult MyAction() {
Response.ContentType = "something";
return View();
}
、また、あなたのCSHTMLに次の行を追加することができます。
@{
ViewBag.Title = "Home Page";
Response.ContentType = "application/javascript";
}
それをちょうど:それは次のようになりますように
Response.ContentType = "application/javascript";
変更を希望する場所によって異なります。
はこれを使用します。
return Content(json, "application/json");
をああ...私はグーグル経由でこれを見つけたが、少数の人々は、これは動作しませんでしたと言いました。素早く答えてくれてありがとうmarcind :) – kidoman
1つの質問に続きます...私はコントローラーやビューでそれを行うべきですか? @ {Response.ContentType = "..."; }私はそれがビューの方が良いと思う。 – kidoman
あなたが懸念の原理を分かち合うなら、私はこの見方が間違った場所であると主張します。ビューの役割は、出力ストリームへの応答をレンダリングすることです。私は個人的には、それが一度限りのものならば、上記のような行動方法でそれを行うでしょう。カスタムコンテンツタイプが必要な複数のビューがある場合、 'ViewResult'から派生し、' View() 'の代わりにそれを返す独自のクラスを作成します。しかし、このコードをビュー自体に書くことができるので、最終的には好みの問題になります。最終的には、あなたの仕事は何をするのかをやるべきです:) – marcind