I have an action that takes in a string that is used to retrieve some data. If this string results in no data being returned (maybe because it has been deleted), I want to r
None of the above examples worked for me until I added the middle line below:
public ActionResult FourOhFour()
{
Response.StatusCode = 404;
Response.TrySkipIisCustomErrors = true; // this line made it work
return View();
}
In NerdDinner eg. Try it
public ActionResult Details(int? id) {
if (id == null) {
return new FileNotFoundResult { Message = "No Dinner found due to invalid dinner id" };
}
...
}
In .NET Core 1.1:
return new NotFoundObjectResult(null);
You can also do:
if (response.Data.IsPresent == false)
{
return StatusCode(HttpStatusCode.NoContent);
}
In ASP.NET MVC 3 and above you can return a HttpNotFoundResult from the controller.
return new HttpNotFoundResult("optional description");
I use:
Response.Status = "404 NotFound";
This works for me :-)