0

私はたくさんグーグルで検索しましたが、まだ運がありません。

これは私のRouteConfig.csです。

routes.MapRoute("BackRoute", "back/{controller}/{action}"
     ,new { controller = "Home", action = "Index" });

routes.MapRoute("Default", "{controller}/{action}"
     ,new { controller = "Home", action = "Index" });

ご覧のとおり、同じパラメーターがありますが、コード ビハインドBackRouteとの間で選択するビジネス ロジックがあります。Default

からルートを変更できますActionFilterAttributeか?

public override void OnActionExecuting(ActionExecutingContext filterContext){
   bool logic = true;
   RouteValueDictionary rvd = filterContext.RouteData.Values;
   if(logic){
       filterContext = new RedirectToRouteResult("BackRoute", 
                       new RouteValueDictionary(new { 
                             controller = rvd["controller"].ToString() 
                           , action = rvd["action"].ToString() }));
   }
}

この目標を達成するための良い方法を教えてもらえますか?

前もって感謝します、

平和

4

1 に答える 1