找到多个与名为“Home”的控制器匹配的类型的解决方案

 

 主地址:http://localhost:3412/Home/Index

区域地址:http://localhost:3412/T200/Home/Index

 

 

 

解决方法: 注册路由添加命名空间(namespaces)参数 (一定要是正确的)

 

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

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                //这里很重要 一定要是正确的 命名空间 否则一样会报错 
                namespaces: new string[] { "Demo.Controllers" }
            );
        }
    }

  

 区域配置也需要修改

public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "T200_default",
                "T200/{controller}/{action}/{id}",
                 new { action = "Index", id = UrlParameter.Optional },
                 new string[] { "Demo.Areas.T200.Controllers" }
            );
        }

  

 

posted @ 2017-10-22 12:08  初吻给了糖  阅读(555)  评论(0编辑  收藏  举报