【问题标题】:MVC 3 default document routingMVC 3 默认文档路由
【发布时间】:2012-02-21 13:14:34
【问题描述】:

我需要确保当人们访问我的域时,例如。 mydomain.com 它们被引用到 home 控制器中的 home 操作,例如 mydomain.com/home/home。 我似乎无法使用 IIS 中的默认文档设置使其工作。 我想这与 global.asax 有关,但我还没有成功地让任何东西工作。我仍然只是得到一个 404,因为它试图在 / 中找到视图

【问题讨论】:

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


    【解决方案1】:

    在 global.asax 中,您需要在路由中设置正确的默认控制器和操作。

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

    您可以将操作更改为“主页”而不是“索引”。

    【讨论】:

    • 那行得通..奇怪..我已经试过了..或者我是这么想的。
    【解决方案2】:

    您可以根据您在 Global.asax.cs 中映射的路线默认站点登陆 Home/Home:

    public static void RegisterRoutes(RouteCollection routes)
    {
      routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new {
          controller = "Home", // default controller when none is specified
          action = "Home",     // default action when none is specified
          id = UrlParameter.Optional
        }, // Parameter defaults
        new string[]{ "Web.Controllers" } // namespace
      );                                  // (helpful when you have separate views)
    }
    

    【讨论】:

      【解决方案3】:

      确保您的 HomeController 中有 Home 方法

      要获取映射到它的默认 URL,您需要编辑 Global.asax.cs 并将索引更改为主页。即

      routes.MapRoute(
          "Default", // Route name
          "{controller}/{action}/{id}", // URL with parameters
          new { controller = "Home", action = "Home", id = UrlParameter.Optional } // Parameter defaults
      );
      

      【讨论】:

      • 我有.. 如果您输入完整的 url,它可以正常工作,例如。 mydomain.com/home/home.. 但如果你只是输入 mydomain.com 你会得到一个 404。我需要 mydomain.com 指向 mydomain.com/home/home
      猜你喜欢
      • 1970-01-01
      • 2011-07-14
      • 2010-11-01
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多