无法调用Ajax.BeginForm的OnFailure函数

时间:2018-09-06 16:55:28

标签: 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", LoadingElementId = "loading" }, new { data_message = strings.DashboardAccountStatusSuspendedMsg, data_failureMessage = strings.OperationFailureErrorMsg }))
                {


                }

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

喜欢

public PartialViewResult SuspendAction()
{
  try
  {
  }
  catch(Exception ex)
{
  //should trigger OnFailure function.
}
}

1 个答案:

答案 0 :(得分:1)

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

Response.StatusCode = 400;
相关问题