Darth Coder
Darth Coder

Reputation: 153

JsonResult or Json: which to use?

In ASP.NET MVC 3, which is more correct to use: Json() or new JsonResult()? Either returns the same result. Thanks for helping solve an office debate.

Upvotes: 15

Views: 5864

Answers (2)

Dave Feld
Dave Feld

Reputation: 11

If you a returning a large dataset as a data source for grid or other UI controls via Ajax, sometimes if this dataset is over 1000 records UI controls will not bind because of maximum Json length is not specified.

So instead of return Json(data),

you can do this: return new JsonResult(Data = data, MaxJsonLength = 50000);

Upvotes: 1

Justin Niessner
Justin Niessner

Reputation: 245429

Json() is just an extension method that actually returns a JsonResult object behind the scenes (rather than needing to call the constructor directly).

I almost always use the Extension Method myself. This keeps more in line with the other common return types from Action Methods like View(), PartialView(), etc.

I also make sure to create an extension method for any custom ActionResult types that I create. In the end it's a matter of personal preference.

Upvotes: 17

Related Questions