C# 无法调用Ajax.BeginForm的OnFailure函数

C# 无法调用Ajax.BeginForm的OnFailure函数,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我在视图上有一个按钮,单击该按钮将提交Ajax表单,即 using (Ajax.BeginForm("SuspendAction", "Home", new AjaxOptions() { HttpMethod = "GET", UpdateTargetId = "btn-suspend-unsuspend", OnSuccess = "onLoadData", OnFailure = "onSuspendFailure", OnBegin = "onBeginDataLoad", Loadin

我在视图上有一个按钮,单击该按钮将提交Ajax表单,即

using (Ajax.BeginForm("SuspendAction", "Home", new AjaxOptions() { HttpMethod = "GET", UpdateTargetId = "btn-suspend-unsuspend", OnSuccess = "onLoadData", OnFailure = "onSuspendFailure", OnBegin = "onBeginDataLoad", LoadingElementId = "loading" }, new { data_message = strings.DashboardAccountStatusSuspendedMsg, data_failureMessage = strings.OperationFailureErrorMsg }))
                {


                }
SuspendAction是主控制器中返回PartialResultView的操作。现在的问题是,这个操作应该返回一条失败消息,并且应该调用OnFailure函数。想知道如何实现此功能


响应状态代码不是2XX时发生OnFailure方法。 在捕捉块处,将响应状态代码更改为4XX:

Response.StatusCode = 400;

您正在控制器中捕获异常,因此客户端没有故障。@stephen希望添加一个逻辑,通过传递我们想要实现的错误消息,从该捕获块中调用失败。然后不要捕获异常,或者用您想要的消息引发另一个异常,或返回指示错误的HttpStatusCode,例如返回新的HttpStatusCodeResult…@StephenMuecke这是否符合任何其他类型ActionResult的PartialViewResult返回类型Yes an
Response.StatusCode = 400;