爲了阻止我的應用程序混亂,我開始使用區域。但現在我總是要撥打:中
http://localhost:49358/Document/Document/
代替:
http://localhost:49358/Document/
我怎樣才能改變我的路線由區名訪問控制器? (沒有的HomeController)路由與區域和控制器名稱(asp.net核心)
我有我的項目內的以下文件夾結構:
routes.MapRoute(name: "areaRoute",template: "{area:exists}/{controller=Home}/{action=Index}");
而且我把[我的DocumentController中的區域(「Document」)]標記。
編輯:
作爲建議的Shyju和傑米·泰勒我與HomeControllers去了。 (謝謝兩位的快速解答和解釋)
對我來說還是有點dissapointing有這麼多HomeControllers和索引文件。導航代碼是不那麼容易了:
EDIT2:
掌握所有這些Homecontrollers太惱火後,我去與傑米·泰勒提出的解決方案和rearanged在特點夾中的一切。它需要更多的配置,但在我看來更清潔。
它也進一步在此Microsoft文章解釋(只是跳過區域的東西):
https://msdn.microsoft.com/en-us/magazine/mt763233.aspx
我的結構,現在看起來像這樣和路由的工作原理就像一個魅力和控制器的名稱還是有意義的:
我不確定那是哪個區域。也許你應該重新考慮你的架構。也許您可以在文檔區域下添加一個剃鬚刀頁面,該頁面的作用類似於索引頁面,並提供文檔索引視圖的所有功能 –
「區域是一種ASP.NET MVC功能,用於將相關功能組織爲一個獨立的命名空間(用於路由)和文件夾結構(用於視圖)「聽起來讓人滿意。你會推薦什麼? – Yush0
在編輯完成之前,您已經到達了那裏:P –