2017-08-07 12 views
0

MVCでエリアを使用しようとしています。ログインが成功した場合はIndexHomeControllerAdminエリアにリダイレクトされています。私がしたいのは、デフォルト領域のIndexHomeControllerにリダイレクトすることですが、ログアウトするとAdminに留まります。管理領域から戻ってリダイレクトする方法は?MVCエリアなしのデフォルトルート

ログイン

 <ul class="nav masthead-nav"> <li class="active"><a href="@Url.Action("Index", "Home")">Domů</a></li> <li><a href="@Url.Action("About", "Home")">O nás</a></li> <li><a href="@Url.Action("Index", "Login", new {area = "Admin" })">Vypis lyží/snowboardů</a></li> </ul> 

ログインコントローラアクションサインアップ/サインアウト

NAV内部

public ActionResult SignIn(string login, string password) 
     { 
      if (Membership.ValidateUser(login, password)) 
      { 
       FormsAuthentication.SetAuthCookie(login, false); 
       return RedirectToAction("Index", "Home"); 
      } 

      TempData["error"] = "Login nebo heslo není správné"; 
      return RedirectToAction("Index", "Login"); 
     } 

     public ActionResult Logout() 
     { 
      FormsAuthentication.SignOut(); 
      Session.Clear(); 

      return RedirectToAction("Index", "Home"); 
     } 

ルートコンフィグ

public class RouteConfig 
    { 
     public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 
       namespaces: new [] { "pujcovna_lyze.Controllers" } 
      ); 
     } 
    } 
+0

ねえ、あなたのプロジェクトに幸運を!あなたは私たちのために特定の質問をしましたか? – GrumpyCrouton

+0

@GrumpyCroutonどういう意味ですか?私はテキストからはっきりとしていると思ったが、私は私の質問を追加した。 –

答えて

2

Logout()アクションにnew { area = "" }パラメータを追加して問題を解決しました。

アクションは次のようになります。

public ActionResult Logout() 
     { 
      FormsAuthentication.SignOut(); 
      Session.Clear(); 

      return RedirectToAction("Index", "Home", new { area = "" }); 
     } 
関連する問題