JsonResult 或 Json:使用哪个?
在 ASP.NET MVC 3 中,哪个使用更正确:Json()
或 new JsonResult()
?两者都返回相同的结果。感谢您帮助解决办公室辩论。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Json()
只是一个扩展方法,它实际上在幕后返回一个JsonResult
对象(而不需要直接调用构造函数)。我自己几乎总是使用扩展方法。这与 Action 方法的其他常见返回类型(例如
View()
、PartialView()
等)更加一致。我还确保为任何类型创建一个扩展方法我创建的自定义 ActionResult 类型。最终这是个人喜好的问题。
Json()
is just an extension method that actually returns aJsonResult
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.
如果您通过 Ajax 返回一个大型数据集作为网格或其他 UI 控件的数据源,有时如果该数据集超过 1000 条记录,则 UI 控件将不会绑定,因为未指定最大 Json 长度。
所以而不是
返回Json(data)
,你可以这样做:
return new JsonResult(Data = data, MaxJsonLength = 50000);
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);