默认情况下,当操作尝试返回 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 进行设置。但你有两个选择:
重写 Controller.Json(object, string, Encoding) 重载来调用 Json(object, string, Encoding, JsonRequestBehavior),传递JsonRequestBehavior.AllowGet作为最后一个论点。如果您希望这适用于所有控制器,请在抽象基本控制器类中执行此操作,然后让所有控制器都成为该抽象类的子类。
创建一个扩展方法 MyJson(this Controller, ...) ,它创建一个 JsonResult 并设置适当的属性,然后通过 this.MyJson(...) 从控制器调用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)