在ASP.NET MVC5中,我有一个带有JsonResult返回类型的控制器.
根据我想要返回404的参数,因为这描述了请求不存在的数据的用户.
我可以抛出新的HttpException(404,“message”),但是在返回HttpNotFound()语法时这感觉很脏.当然,这不起作用,因为HttpNotFoundResult不继承JsonResult
解决方法
您的所有操作都应该只有ActionResult返回值.这允许您返回任何有效的结果类型,无论是JsonResult还是HttpNotFoundResult.
public ActionResult Foo() { if (!foos.Any()) { return new HttpNotFoundResult(); } return Json(foos,JsonRequestBehavior.AllowGet); }