2012-04-12 35 views
0

在ASP.NET MVC3應用 我有一個基本的控制器,我重寫某些功能後。 我從中得到所有的控制器。MVC3重定向到一個新的頁面Ajax調用

在基本控制器

我重寫OnAuthorization事件處理程序檢查一些東西,然後返回true或false。如果結果爲真,我希望重定向到主頁

protected override void OnAuthorization(AuthorizationContext filterContext) 
{ 
    if(CheckValues()) 
    { 
     RedirectToHomePage(); 
    } 

} 

public ActionResult RedirectToHomePage() 
{ 
    return RedirectToAction("Index", "Home"); 
} 

重定向適用於正常的操作調用。

但是,當有一個AJAX調用主頁加載頁面的DIV中,而不是作爲一個新的頁面。

有沒有一種方法,我可以強制整個頁面重新加載和重定向到網頁時,有一個AJAX調用?

我試圖用Redirect("~/")重定向到根URL,但同樣的問題。該頁面在DIV內部加載,而不是在整個頁面中加載。

希望我很清楚。非常感謝您的任何幫助

回答

1

你是怎麼做你的AJAX調用?如果您使用的是jQuery AJAX,那麼您可以使用on成功來重定向頁面。

$.ajax({ 
    url: 'ajax/test.html', 
    success: function() { 
     window.location = "/"; 
    } 
}); 
2

您需要在您的AJAX回調方法(JavaScript客戶端)而不是您的C#(服務器端)中執行此操作。