如何为此方案编写路由

时间:2011-05-30 08:19:53

标签: c# asp.net-mvc

我有一个网址托管两个网站,主要网站和群组网站。主站点和组站点都有登录,更改密码,重置密码等。

例如:

www.abc.com -> main site
www.abc.com/login -> main site login

www.abc.com/Agroup/login -> group site login
www.abc.com/Agroup/changepassword -> group site change password

www.abc.com/Bgroup/login -> group site login but for Bgroup

我希望Agroup和Bgroup由一个控制器处理,该控制器使部分(Agroup / Bgroup)成为一个参数,而一个控制器处理主站点。

如何为此写路线,谢谢

1 个答案:

答案 0 :(得分:1)

如何在其中一个参数上编写带有constaint的路径?

routes.MapRoute(
      "Grouproute", // Route name
      "{group}/{action}/{id}", // URL with parameters
      new { controller = "Group", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
      new { group = @"^.{1}group$" } //Contraints
  );

您可能需要调整约束正则表达式以满足您的需要。现在它希望它成为小组。

请注意,这将在组控制器上为两个组调用相同的Login操作,因此您必须检查Login方法上的group参数以区分不同的组。