我有MVC3应用程序,我想保留简短的URL.什么是最好或干净的方式来做到这一点? 让我们说我有两个控制器帐户和家庭.我在帐户控制器中拥有所有与帐户相关的任务登录,注销,配置文件,常
让我们说我有两个控制器帐户和家庭.我在帐户控制器中拥有所有与帐户相关的任务登录,注销,配置文件,常见问题解答等.家庭控制器中的所有主要任务,如TaskA,TaskB和TaskC.我正在寻找如下URL:
> www.mydomain.com/Logon
> www.mydomain.com/Logoff
> www.mydomain.com/Profile
> www.mydomain.com/FAQs
> www.mydomain.com/TaskA
> www.mydomain.com/TaskB
当用户第一次访问网站时,他们需要重定向到登录页面.在任何时候,用户还应该能够从一次控制器动作切换到另一个控制器动作(从TaskA切换到Logoff).
干净的方法是什么?
您无需为每个URL设置路由.在路线限制的帮助下,您可以执行以下操作:routes.MapRoute( "Home", // Route name "{action}", // URL with parameters new { controller = "Home", action = "Index" }, // Parameter defaults new { action = "TaskA|TaskB|TaskC|etc" } //Route constraints ); routes.MapRoute( "Account", // Route name "{action}", // URL with parameters new { controller = "Account", action = "Logon" }, // Parameter defaults new { action = "Logon|Logoff|Profile|FAQs|etc" } //Route constraints );