【问题标题】:asp-mvc routing when hosted in IIS on development environment托管在开发环境中的 IIS 中时的 asp-mvc 路由
【发布时间】:2009-01-30 19:47:44
【问题描述】:

我在“localhost/mvcapplication1”下的 IIS 5.1 环境中有应用程序

路由配置是这样的:

    routes.MapRoute("mvc-default", "{controller}.mvc/{action}/{id}"
        , new { controller = "Home", action = "Index", id = (string)null });


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

当页面通过“Root”路由时,视图上的链接会指向

http://localhost/mvcapplication1/MvcApplication1/Product.mvc

,显然它不存在。但是,当使用第一个“mvc-default”时,效果很好。

如果应用程序托管在http://......./ 下也可以正常工作。

关于如何解决它的任何提示?

谢谢。

【问题讨论】:

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


    【解决方案1】:

    您遇到 404 错误,因为您设置了路由规则“{controller}.mvc/{action}/{id}”,显然在控制器名称后添加了 .mvc 扩展名,以及“”路由规则因为您使用的是未配置的 IIS,所以不会先行,甚至可以工作。

    要在不配置 IIS 的情况下修复它,您可以将 .mvc 更改为 ASP.Net 当前处理的内容,例如 .aspx、.asmx 或其他内容。
    如果您想修复 IIS,请访问下面的链接,按照说明操作,然后删除 .mvc 扩展名。

    ASP.Net
    Phil Haack's blog
    如果您只是 Google 一下,就可以找到更多关于它的帖子。

    【讨论】:

      【解决方案2】:

      也许这行得通:
      改变:

      HttpContext.Current.RewritePath(Request.ApplicationPath);
      

      HttpContext.Current.RewritePath(Request.ApplicationPath, false);
      

      在 default.aspx.cs(或 default.aspx.vb)中

      【讨论】:

        【解决方案3】:

        晚了一年,但也许这对其他人有帮助。我有同样的问题,因为我们使用 IIS6,我通过将这两个条目作为我的路由配置中列出的最后两个条目来让它工作:

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

        将“.aspx”更改为您的“.mvc”或您需要的任何内容。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-09
          • 2010-11-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-12
          • 2012-08-16
          • 2017-02-20
          • 2018-05-31
          相关资源
          最近更新 更多