简单路由到另一个控制器中的操作

时间:2015-05-10 12:51:15

标签: c# .net asp.net-mvc routes annotations

我有一个MVC .Net C#项目。在Home Controller下有计划行动。 但我不希望以http://....../Home/Plans的形式访问此页面 但我希望以http://....../Plans的形式访问它 但我不想创建计划控制器。所以我不想做redirectToAction。

我正在尝试将Route Annonation用作以下内容:

[Route("plans/")]
public ActionResult Plans()

[Route("plans/{actions}")]
public ActionResult Plans()

[Route("plans/index")]
public ActionResult Plans()

但以上都没有为我工作。你能帮助我吗?

更新

这是我在HomeController下的行动

[Route("plans")]
public ActionResult Plans()
{
    var servicePlansDto = SubscriberApiManager.SubscriptionSellingService.GetServicePlans(ServiceId).FindAll(sp => !sp.HasPromotionCode);
    List<ServicePlanVm> servicePlansVm = Mapper.Map<List<ServicePlanDto>, List<ServicePlanVm>>(servicePlansDto);
    return View(servicePlansVm);
}

这是我的配置

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

            routes.MapMvcAttributeRoutes();

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }

0 个答案:

没有答案