我有一个控制器和一个定义的方法…
[HttpPost] public ActionResult UpdateUser(UserInformation model){ // Instead of throwing exception throw new InvalidOperationException("Something went wrong"); // I need something like return ExecutionError("Error Message"); // which should be received as an error to my // $.ajax at client side... }
异常问题
我需要一些简单的方法来向$ .ajax调用报告一些自定义的HTTP状态,以便它应在客户端导致错误,但是我不想抛出错误。
更新
我无法更改客户端脚本,因为它与其他数据源不一致。
到目前为止,HttpStatusCodeResult应该可以工作,但是是IIS引起了这里的问题。无论我设置了什么错误消息,都尝试了所有答案,但我仍然仅收到默认消息。
这是HTTP状态代码起作用的地方。使用Ajax,您将能够相应地处理它们。
[HttpPost] public ActionResult UpdateUser(UserInformation model){ if (!UserIsAuthorized()) return new HttpStatusCodeResult(401, "Custom Error Message 1"); // Unauthorized if (!model.IsValid) return new HttpStatusCodeResult(400, "Custom Error Message 2"); // Bad Request // etc. }
这是已定义状态代码的列表。