MVC App, client makes request to server, error happens, want to send the msg back to the client. Tried HttpStatusCodeResult but just returns a 404 with no message, I need the details of the error sent back to the client.
public ActionResult GetPLUAndDeptInfo(string authCode) { try { //code everything works fine } catch (Exception ex) { Console.WriteLine(ex.Message); return new HttpStatusCodeResult(404, "Error in cloud - GetPLUInfo" + ex.Message); } }
You should be logging the relevant information to your error log so that you can go through it and fix the issue. If you want to show the error in the form user submitted, You may use ModelState. AddModelError method along with the Html helper methods like Html.
First of all, if you only return ViewResult from a particular Action, declare the method as returning ViewResult instead of ActionResult. var result = sut. Index(). ViewData.
We can return the custom message from controller by throwing exception and handling it at client side using the ActionFailure event of the Grid. Grid Rendering Code. 2. Handle the returned message in the ActionFailure event of the Grid.
An ActionResult is a return type of a controller method in MVC. Action methods help us to return models to views, file streams, and also redirect to another controller's Action method.
You need to return a view which has a friendly error message to the user
catch (Exception ex) { // to do :log error return View("Error"); }
You should not be showing the internal details of your exception(like exception stacktrace etc) to the user. You should be logging the relevant information to your error log so that you can go through it and fix the issue.
If your request is an ajax request, You may return a JSON response with a proper status flag which client can evaluate and do further actions
[HttpPost] public ActionResult Create(CustomerVM model) { try { //save customer return Json(new { status="success",message="customer created"}); } catch(Exception ex) { //to do: log error return Json(new { status="error",message="error creating customer"}); } }
If you want to show the error in the form user submitted, You may use ModelState.AddModelError
method along with the Html helper methods like Html.ValidationSummary
etc to show the error to the user in the form he submitted.
One approach would be to just use the ModelState
:
ModelState.AddModelError("", "Error in cloud - GetPLUInfo" + ex.Message);
and then on the view do something like this:
@Html.ValidationSummary()
where you want the errors to display. If there are no errors, it won't display, but if there are you'll get a section that lists all the errors.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With