【问题标题】:How do I get rid of Home in ASP.Net MVC?如何摆脱 ASP.Net MVC 中的 Home?
【发布时间】:2010-09-06 03:21:45
【问题描述】:

我知道这个网站是使用 ASP.Net MVC 编写的,我在 url 中看不到“/Home”。这向我证明这是可以做到的。我需要什么特别的路线?

【问题讨论】:

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


    【解决方案1】:

    只需将“Home”更改为空字符串即可。

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

    【讨论】:

      【解决方案2】:

      如果您在 IIS 7 上运行,您可以简单地删除 ASP.NET MVC 附带的 Default.aspx 文件(假设您在 Preview 3 或更高版本上运行)。由于在 .NET 3.5 SP1 中修复的 Cassini 问题,需要该文件。更多详情请查看:

      http://haacked.com/archive/2008/04/10/upcoming-changes-in-routing.aspxhttp://haacked.com/archive/2008/05/12/sp1-beta-and-its-effect-on-mvc.aspx

      【讨论】:

        【解决方案3】:

        我实际上喜欢将我所有的家庭控制器方法都放在网站的根目录下。像这样:/about、/contact 等。我想我很挑剔。我使用一个简单的路线约束来做到这一点。 Here is my blog post with a code sample.

        【讨论】:

          【解决方案4】:

          在 IIS 7 中,您可以简单地删除 ASP.NET MVC 附带的 Default.aspx 文件(假设您在 Preview 3 或更高版本上运行)。由于在 .NET 3.5 SP1 中修复的 Cassini 问题,需要该文件。

          更多详情请查看:

          Upcoming Changes In Routing.NET 3.5 SP1 Beta and Its Effect on MVC

          【讨论】:

            【解决方案5】:

            我会添加

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

            在 RouteConfig.cs 中

            【讨论】:

              【解决方案6】:

              这就是我为摆脱 Home 所做的。它会将只有一个说明符的所有路由视为 Home/Action,将任何带有两个说明符的路由视为 Controller/Action。缺点是控制器现在必须有一个明确的索引(/Controller != /Controller/Index),但它可能会对您或其他人有所帮助。

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2011-04-04
                • 1970-01-01
                • 2013-06-28
                • 1970-01-01
                • 2014-01-28
                • 2013-10-31
                • 2020-10-19
                相关资源
                最近更新 更多