混合WebForms和MVC5路由无法正常工作

时间:2015-12-24 20:19:33

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

我的网页表单和MVC的路由代码如下。

当我混合两者时,MVC路由似乎工作得很好但不是网络形式。

    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    routes.IgnoreRoute("");

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

    //WebForms
    routes.MapPageRoute(
        "myPage",
        "page/companyInfo/{*queryvalues}",
        "~/company/details.aspx"
        );   

我是否需要为details.aspx页面编写IgnoreRoute语句?

1 个答案:

答案 0 :(得分:1)

更改路由的顺序,MVC路由应该在底部,因为默认基本上是一个全能。 MVC进程路由从上到下,如果找到匹配,它将停止查找并将您路由到匹配的路由。

        //WebForms
        routes.MapPageRoute(
            "myPage",
            "page/companyInfo/{*queryvalues}",
            "~/company/details.aspx"
            );

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