面向MVC应用程序中的路由

时间:2014-11-06 05:11:41

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

我正在按照我的网站网址正确设置路由。该网址与http://staging.test.com/Partner/new/mp/Probook类似, 其中“http://staging.test.com”是域名。 “Partner”是指向成功运行的应用程序(在ASP.NET中生成)的VD。此外,创建了另一个VD“new”,它指向我的MVC应用程序。 “mp”只是从我们这里取出的字符串,让其他人知道它是不同类型的门户网站。 “Probook”是另一种路线价值。

我的路线配置设置如下。

   public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
          name: "CoBrandMicroPortal",
          url: "mp/{mpid}/cp/{cpid}/{culture}/{action}/{id}",
          defaults: new { controller = "MyPortal", action = "Index", culture = "en", id = UrlParameter.Optional }
      );

        routes.MapRoute(
           name: "MicroPortal",
           url: "mp/{mpid}/{culture}/{action}/{id}",
           defaults: new { controller = "MyPortal", action = "Index", culture = "en", id = UrlParameter.Optional }
       );


        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "MyPortal", action = "Index", id = UrlParameter.Optional }
        );
    }

当我运行URL时,我收到404错误。这意味着门户网站没有运行“新”VD。如果URL为“http://staging.test.com/new/mp/Probook”,则门户网站正在运行。 上层设置。任何人都可以尝试理解这个问题并给我任何想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

一种可能性是您有重写规则干扰您的路由设置。请参阅this answer