2012-03-07 302 views
0

我有一個ASP項目,其中一個模塊是一個單獨的MVC項目。這個模塊(它是獨立託管的)我通過使用IFrame顯示。問題是,如果會話從MVC項目過期,我需要將頁面重定向到ASP項目的登錄頁面。重定向到IFrame的登錄頁面

在我的MVC項目,我有這樣的功能:

public ActionResult Login(string reason) 
    { 
     switch (reason) 
     { 
      case BUMP_AUTHENTICATION_REQUIRED: 
       Response.AddHeader("X-Shell-Redirect", "AccessDenied"); 
       ViewData["LoginMessage"] = ""; 
       break; 

      case BUMP_SESSION_TIMEOUT: 
       Response.AddHeader("X-Shell-Redirect", "SessionTimeOut"); 
       ViewData["LoginMessage"] = Strings.LoginSessionTimeoutMessage; 
       break; 

      default: 
       ViewData["LoginMessage"] = String.Empty; 
       break; 
     } 

     return View(); //Which return the login view of the MVC Project 
    } 

如何實現這一目標?

+2

您可以使用javascript重定向http://ntt.cc/2008/01/21/5-ways-to-redirect-url-with-javascript.html – 2012-03-08 06:00:20

回答

0

這裏的問題是如何在iFrame頁面和父頁面之間傳遞消息。無法訪問父頁面的任何方法或屬性(它將顯示拒絕訪問錯誤,因爲它們都位於不同的域中)。我使用「onMessage」事件得到了解決方案。您可以從this頁面獲得更多詳細信息