環境說明:Vistual Studio 2013 MVC 4.0 其實關於ASP.NET MVC Area使用的基礎知識可以參考 http://www.cnblogs.com/willick/p/3331519.html 這篇軟文. Global.asax 中的 Application_Start
環境說明:Vistual Studio 2013
MVC 4.0
其實關於ASP.NET MVC Area使用的基礎知識可以參考 http://www.cnblogs.com/willick/p/3331519.html 這篇軟文.
Global.asax 中的 Application_Start 方法裡面有這樣一句代碼
AreaRegistration.RegisterAllAreas();
估計: 它的作用會到當前MVC 所在的bin中動態註入繼承了 AreaRegistration的類, 這個類配置了分區的路由. 所以對於將"分區"獨立在當前MVC項目"外"時,想辦法將這個分區編譯的dll保存到當前MVC應用對於的bin目錄下.
特別說明: 1).HealthDemo.Web.Admin項目類型是類庫,它的實際物理路徑依舊在HealthDemo.Web目錄下,具體看下麵的截圖
手工改下HealthDemo.Web.Admin這個類庫項目的 HealthDemo.Web.Admin.csproj 文件,讓其編輯的dll保存在HealthDemo.Web\bin 目錄裡面
後面基本就是程式該做事情
果然可以生成對應的帶分區的url,發現發出admin/controller/action形式的請求可以打到HealthDemo.Web.Admin.Controllers對應控制器,但是控制器並沒有找到已經被獨立在"外"的視圖,這個視圖文件實際的物理路徑在HealthDemo.Web\administration\Views中的Home下, 所以我們要重新設置MVC引擎搜索模板的路徑
通過這個小實驗,感受了下ASP.NET MVC 3 Area(分區)以及頁面模板載入查找路徑的設置.
項目Demo: http://yun.baidu.com/share/link?shareid=1654488135&uk=118268666