文章出處

在使用MVC4.0的時候,難免會遇到在根目錄下的Controllers中添加的控制器名稱可能會跟在Areas中的某個區域下的控制器名稱一樣。這個時候訪問Areas下面的Controller/Action是沒有問題的,但是訪問根目錄下的地址是就會提示:

找到多個與名為“Home”的控制器匹配的類型。如果為此請求(“{controller}/{action}/{id}”) 提供服務的路由在搜索匹配此請求的控制器時沒有指定命名空間,則會發生此情況。如果是這樣,請通過調用含有 'namespaces' 參數的 'MapRoute' 方法的重載來注冊此路由。

根據錯誤提示,我們需要在默認路由中定義“namespaces”參數的值

routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                namespaces: new string[] { "XXXX.WebUI.Controllers" }//解決Controllers與Areas中控制器不能同名問題
            );

 至此就可以訪問根目錄下的地址了!


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()