回答
您可以使用區域以較小的塊來構建大型站點。
從MSDN:
MVC模式將來自其表示邏輯和業務邏輯的應用 的模型(數據)的邏輯。在ASP.NET MVC中,這個 邏輯分隔也在物理上實現在項目 結構中,其中控制器和視圖保存在使用命名約定定義關係的文件夾中。這種結構支持大多數Web應用程序的需求。
然而,一些應用程序可以有大量的控制器,並且每個控制器可以與幾個視圖相關聯。對於這些類型的應用程序,默認的ASP.NET MVC項目結構可能變得笨拙難懂。
爲了適應大型項目,ASP.NET MVC允許您將Web 應用程序劃分爲稱爲區域的較小單元。區域 提供了一種將大型MVC Web應用程序分成更小的功能分組的方法。一個區域實際上是一個應用程序中的 內的MVC結構。一個應用程序可能包含幾個MVC結構 (區域)。
例如,一個大的電子商務應用程序可以被劃分成 代表的店面面積,產品評測,用戶 帳戶管理和採購系統。每個區域 代表整個應用程序的單獨功能。
來源:http://msdn.microsoft.com/en-us/library/ee671793.aspx
在Visual Studio項目中的只是點擊右鍵並說「添加區域」來添加一個新的領域。
如果您需要從您的視圖引用另一個區域,您只需要添加一個「區域」參數設置爲路由收藏價值:
@Html.ActionLink("[LinkText]", "[ActionName]", "[ControllerName]", new { area = "[AreaName]" }, null);
控制器只是類,因此您應該能夠實例化它們並將它們的操作視爲它們是應用程序層的一部分。
另一個想法,如果你在開發早期,考慮到MVC4s WebAPI。如果您可以將子應用程序的控制器轉換爲ApiControllers,那麼您可以啓動主應用程序可以調用的服務層。
正確的,我可以從其他類實例化他們,但我想做得更好。例如,爲每個子應用程序使用路徑文件... – 2012-03-31 11:54:28
您可能可以得到這個工作,但不會在mvc應用程序之間建立緊密的依賴關係嗎?也許你可以使用接口抽象子應用程序控制器,然後用Ioc容器解決它們。 – vansimke 2012-03-31 12:03:33
- 1. 使用其他應用程序控制應用程序
- 2. MVC3應用程序
- 3. 使應用程序運行在其他應用程序上方
- 4. 使用其他應用程序
- 5. 其他Android應用程序
- 6. 與其他應用程序
- 7. C++ cgi應用程序調用其他程序失敗
- 8. 跟蹤其他用戶在mvc應用程序中使用Glimpse
- 9. 在另一個Android應用程序中調用其他應用程序
- 10. 如何從Tizen的EFL應用程序調用其他EFL應用程序
- 11. 如何從flex mobile中的其他應用程序調用應用程序
- 12. 你將如何從本地iPhone應用程序調用其他應用程序?
- 13. 連續將數據從一個應用程序發送到其他應用程序的其他應用程序?
- 14. Android - 允許其他應用程序啓動應用程序
- 15. Web應用程序集成與其他應用程序
- 16. 識別我的應用程序上的其他應用程序
- 17. 通過其他應用程序打開Facebook應用程序
- 18. 其他Web應用程序中的Web應用程序
- 19. 將我的應用程序鏈接到其他應用程序
- 20. 如何從其他應用程序啓動ClickOnce應用程序?
- 21. 將iOS應用程序包含到其他應用程序中
- 22. Android:從其他應用程序訪問應用程序
- 23. Metro應用程序能否注意到其他應用程序?
- 24. 螺紋應用程序與其他應用程序睡覺
- 25. iPhone應用程序可以銷售其他應用程序嗎?
- 26. 將一個Android應用程序導入其他應用程序
- 27. 其他應用程序中的包裝Rails應用程序
- 28. iOS - 包含其他應用程序的應用程序
- 29. 從其他應用程序訪問Node-Webkit應用程序
- 30. 從其他應用程序打開Facebook應用程序
你看過使用一個大的網站,並與區域分開嗎? – aKzenT 2012-03-31 11:47:20
@aKzenT:你可以更好地描述它嗎?我認爲這是我想要的...... – 2012-03-31 11:50:27
你是什麼意思,稱這個動作?描述你想要存檔的內容; – 2012-03-31 11:51:57