【问题标题】:ASP.NET MVC 3 Landing PageASP.NET MVC 3 登陆页面
【发布时间】:2012-06-04 03:44:56
【问题描述】:

我试图找到登陆页面的最佳方式,我希望我的网址是这样的。

  • 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

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

【问题讨论】:

  • 我认为这没有任何问题。你呢?

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing


【解决方案1】:

我觉得不错。一件小事是第二条规则是多余的。如果你完全忽略它,第三条规则将覆盖它:/Home 映射到它,Index 是默认操作。

【讨论】:

  • 两个顶级规则都是多余的。
  • @Dmitry 我不认为第一条规则是多余的,是吗?没有它,根 www.myweb.com 将路由到 /Home/Index 而不是 /Home/Landing。
  • 但没有第二条规则,链接到Home/Index 不起作用。当我使用@Html.ActionLink("go to home page", "Index", "Home") 时,它会转到www.myweb.com 的登录页面。不是 www.myweb.com/Home
猜你喜欢
  • 2016-02-26
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
  • 2011-02-03
相关资源
最近更新 更多