ASP.NET MVC 2.0 JsonRequestBehavior 全局设置

2024-01-09

默认情况下,当操作尝试返回 JSON 以响应 GET 请求时,ASP.NET MVC 2.0 现在将引发异常。我知道这可以通过使用 JsonRequestBehavior.AllowGet 逐个方法地覆盖,但是是否可以在控制器或更高的基础上设置(可能是 web.config)?

更新:根据李维的评论,这就是我最终使用的-

protected override JsonResult Json(object data, string contentType, System.Text.Encoding contentEncoding)
{
    return Json(data, contentType, JsonRequestBehavior.AllowGet);
}

与其他 MVC 特定设置一样,此设置无法通过 Web.config 进行设置。但你有两个选择:

  1. 重写 Controller.Json(object, string, Encoding) 重载来调用 Json(object, string, Encoding, JsonRequestBehavior),传递JsonRequestBehavior.AllowGet作为最后一个论点。如果您希望这适用于所有控制器,请在抽象基本控制器类中执行此操作,然后让所有控制器都成为该抽象类的子类。

  2. 创建一个扩展方法 MyJson(this Controller, ...) ,它创建一个 JsonResult 并设置适当的属性,然后通过 this.MyJson(...) 从控制器调用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC 2.0 JsonRequestBehavior 全局设置 的相关文章

随机推荐