2010-06-29 94 views
1

我正在使用MVC Ajax.BeginForm("LogOn", "Account", new AjaxOptions { UpdateTargetId="updateajax" }) <div id=updateajax/>,因此它只会更新到该区域。登录表单是ajax.beginform。但是,您可以取消控制器内的AjaxRequest。我想要的是,当我在ajax中登录时,它只会更新验证,但当登录成功时,我希望整个页面重新定向或再次更新。在我的控制器中,当登录成功时,我返回整个页面,但将整个内容放入updateajax div中。我能做些什么来解决这个问题?我只是想在登录成功时停止ajax调用。C#ASP.NET MVC AJAX登录表

回答

2

你必须重定向或更新整个页面。 或者你可以将整个body的内容封装在div和ajax中更新一个。我的建议是继续前进并重定向,因为如果脚本在加载时运行,则必须手动调用它们。

<body> 
    <div id="ajaxUpdatedPanel"> 
     <% using (Ajax.BeginForm("LogOn", "Account", new AjaxOptions { 
         UpdateTargetId="ajaxUpdatedPanel", 
         OnSuccess = "redirectTo" }) { %> 
     .... 
     .... 
     <script type="text/javascript"> 
      function redirectTo() { 
       window.location = "your_redirect_url"; 
      } 
     </script> 
    <div> 
    </body> 
+0

谢谢你的回答 – Ganator 2010-07-11 01:41:29