Asp.net-Mvc-5

我應該如何從 JsonResult 控制器返回 404?

  • May 8, 2015

在 ASP.NET MVC5 中,我有一個JsonResult返回類型的控制器。

根據我想要返回 404 的參數,因為這是對請求不存在數據的使用者的描述。

我可以,但是考慮到語法throw new HttpException(404, "message"),這感覺很髒。return HttpNotFound()這當然行不通,因為HttpNotFoundResult不繼承JsonResult

JsonResult我應該如何從控制器方法中乾淨地返回 404 ?

你所有的動作都應該有ActionResult返回值。這允許您返回任何有效的結果類型,無論是 aJsonResult還是HttpNotFoundResult.

public ActionResult Foo()
{
   if (!foos.Any())
   {
       return new HttpNotFoundResult();
   }

   return Json(foos, JsonRequestBehavior.AllowGet);
}

引用自:https://stackoverflow.com/questions/30131422