小编典典

如何使用Ajax.BeginForm OnSuccess和OnFailure方法?

ajax

我用这个Ajax.BeginForm

    <% using( Ajax.BeginForm( "Create","Mandate",
                       new AjaxOptions( ) {
                           OnSuccess = "GoToMandates",
                           OnFailure = "ShowPopUpError"
                       } ) ) {%>

<% } %>

我需要在控制器中写些什么才能捕获此OnSucces和OnFailure。

因为OnSuccess我需要显示成功消息

OnFailure我需要显示其他消息。

在我的控制器中

Public ActionResult GetSomething(FromCollection collection)
{
     if(exists == null)
     {
          //OnSuccess
     }
     else
     { 
         //OnFailure
     }
}

可以给anydboy帮帮我吗。

谢谢


阅读 311

收藏
2020-07-26

共1个答案

小编典典

OnSuccess和OnFailure看起来像他们期望的javascript回调函数。

<script type="text/javascript">
    function handleError(ajaxContext) {
    var response = ajaxContext.get_response();
    var statusCode = response.get_statusCode();
    alert("Sorry, the request failed with status code " + statusCode);
    }
</script>

<%= Ajax.ActionLink("Click me", "MyAction",
new AjaxOptions { UpdateTargetId = "myElement", OnFailure = "handleError"}) %>

Pro ASP.NET
Framework
第425页的示例

ASP.NET AjaxOptions类


添加了控制器示例

最简单的方法就是我在这里得到的内容,但我建议使用某种ViewModel来查看强类型的mvc视图,并可能考虑将jQuery用于ajax。话虽如此,这有望为您服务。

if (exists)
{
  ViewData["msg"] = "Some Success Message";
}
else
{
  ViewData["msg"] = "Some Error Message";
}

return View();

在您看来

<div id="myResults" style="border: 2px dotted red; padding: .5em;">
    <%: ViewData["msg"]%>
</div>
2020-07-26