2012-06-04 167 views
5

我试图找到登陆页面的最佳方式,我希望我的url可以像这样。ASP.NET MVC 3登录页面

  • www.myweb.com < ===着陆页
  • www.myweb.com/Home < ===首页

后来我想出了这个。

routes.MapRoute(
    "Landing", 
    "", 
    new { controller = "Home", action = "Landing" } 
); 

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

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

第一个是(Landing)是使www.myweb.com重定向到View/Home/Landing.cshtml。第二个(Home)是让www.myweb.com/Home重定向到View/Home/Index.cshtml

我想问问有没有比这更好的方法?或者这很好? 感谢您的意见

+0

我没有看到任何问题。你做 ? – Shyju

回答

3

它对我来说很好。一个小问题是第二个规则是多余的。如果您完全忽略它,则第三条规则将覆盖它:/主页映射到它,索引是默认操作。

+0

两个最重要的规则都是多余的。 –

+0

@Dmitry我不认为第一条规则是多余的,是吗?没有它,根** www.myweb.com **将路由到/ Home/Index而不是/ Home/Landing。 – McGarnagle

+0

你是对的,我没有意识到这是一个不同的行动。 –