2 つの質問があります。
JSONResult と ActionResult の違いは何ですか?
MVC で JSONResult を使用するのはいつですか?
2 つの質問があります。
JSONResult と ActionResult の違いは何ですか?
MVC で JSONResult を使用するのはいつですか?
ActionResult
アクションが返すことができる抽象クラスです。
Controller
(例: Json()
、、、 ...)のヘルパー メソッドはContent()
、を含む、 をView()
継承するさまざまな具象クラスを返します。ActionResult
JsonResult
アクション メソッドを return として宣言してActionResult
、具体的な結果クラスを自由に返せるようにする必要があります。
JsonResult
クライアント (Web ページまたはモバイル クライアントの JavaScript) によって消費される未加工の JSON データを返したい場合に使用します。
ActionResult
ビューを返したり、リダイレクトなどをブラウザで処理したい場合に使用します。
ActionResult
抽象クラスです。JsonResult
のサブタイプですActionResult
。したがって、両方のタイプで json コンテンツを返すことができます。
のMSDNドキュメントによるとActionResult
:
ActionResult クラスは、アクション メソッドの結果をカプセル化し、アクション メソッドに代わってフレームワーク レベルの操作を実行するために使用されます。
アクション メソッドは、作業を実行してアクション結果を返すことで、ユーザー入力に応答します。アクションの結果は、フレームワークがアクション メソッドに代わって実行するコマンドを表します。ActionResult クラスは、アクション結果の基本クラスです
JsonResult の場合:
JSON 形式のコンテンツを応答に送信するために使用されるクラスを表します。
JsonResult
これはもう少し複雑ですが、それほど複雑ではありません。ContentType もハードコードされていますが、もう少し複雑なのは、ハードコードされた JavaScriptSerializer を使用して JSON データをシリアライズしてから、応答に直接書き込むことです。
この投稿は役に立ちます
http://brendan.enrick.com/post/types-of-aspnet-mvc-3-action-results.aspx