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

前端之家收集整理的这篇文章主要介绍了asp.net – 如何使用Ajax.BeginForm OnSuccess和OnFailure方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用这个Ajax.BeginForm
<% using( Ajax.BeginForm( "Create","Mandate",new AjaxOptions( ) {
                           OnSuccess = "GoToMandates",OnFailure = "ShowPopUpError"
                       } ) ) {%>

<% } %>

我需要在控制器中写入以获取OnSucces和OnFailure。

因为OnSuccess我需要显示Success消息

OnFailure我需要显示消息。

在我的控制器

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

可以anydboy帮我出来..怎么抓这个?

谢谢

解决方法

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 Class

添加控制器示例

这样做最简单的方法是我在这里,但我建议使用某种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>

猜你在找的asp.Net相关文章