Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to return JsonResult with HTTP Status Code 500 from Razor Page?

In my ASP.NET Core Razor Pages application, I sometimes send requests to the server via ajax.

In those cases, I want to return JsonResult either for success or for error.

But I can't find a way to change HTTP Status Code for JsonResult.

Here's my method:

public IActionResult OnPostFileUpload()
{
   try
   {
       // code to manage and save the file, this request is AJAX
       return new JsonResult("done");
   }
   catch (Exception ex)
   {
       return new JsonResult(message); // how should I set it to be 500?
   }
}
like image 729
Ali EXE Avatar asked Sep 01 '25 22:09

Ali EXE


1 Answers

You can assign the StatusCode to JsonResult as below:

using System.Net;
return new JsonResult(message)
{
    StatusCode = (int)HttpStatusCode.InternalServerError
};

References

JsonResult class Properties

like image 51
Yong Shun Avatar answered Sep 03 '25 13:09

Yong Shun