2012-03-07 16 views
0

私はASPプロジェクトを持っています。その1つのモジュールは別のMVCプロジェクトです。このモジュール(別々にホストされています)は、IFrameを使用して表示しています。問題は、セッションがMVCプロジェクトから期限切れになった場合、そのページをASPプロジェクトのログインページにリダイレクトする必要があることです。私のMVCプロジェクトでIFrameからログインページにリダイレクト

、私はこの機能を持っている:

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 –

答えて

0

ここで問題は、iFrameページと親ページの間でメッセージを渡す方法でした。親ページのメソッドまたはプロパティにアクセスすることはできません(両方が異なるドメインにあるため、アクセス拒否エラーが表示されます)。私は "onMessage"イベントを使って解決策を得ました。この詳細については、thisページ

関連する問題