我正在寫一個幫助課來查詢我的Zenfolio飼料,返回並顯示圖像。現在,這段代碼被分割在我的控制器中的視圖模型和代碼之間。我想把它打包成一個幫手類。所有的代碼都會進入幫助程序嗎?還是我仍然將代碼在不同的類之間進行拆分,只有幫助程序才能生成html?我用Google搜索了一下,但沒有找到我的問題的答案。關於Html幫助程序,數據訪問代碼是否也進入了幫助程序類?
0
A
回答
3
在MVC模式中,模型(數據),視圖(html)和控制器(將模型賦予視圖的內容)之間存在明顯分離。
要回答你的問題,不可以。在控制器中加載模型。在視圖中顯示它們。 Html Helpers應該只爲你的視圖生成html。
您可能需要考慮使用DisplayTemplate,它允許您爲每種特定類型的模型使用相同的視圖模板。
2
我不會從視圖中進行任何數據訪問。這聽起來像是一個很好的動作用例,並且通過RenderAction
方法重用了代碼。您可以使用[ChildActionOnly]
屬性將該操作標記爲子操作,這可確保無法直接從HTTP請求調用該操作,並返回PartialView
結果。
HTML幫助程序應該真的用於從ViewData或Model(也就是您的視圖模型)中獲取的數據生成HTML標記。
1
HtmlHelper中的數據訪問只是一種痛苦。
我已經不幸繼承了項目中的第二個開發人員將臨時SQL放入HtmlHelpers的項目。 HtmlHelpers由第一個開發人員精心編寫,專用SQL幾乎消除了面向服務的體系結構的所有時間和精力,其中有一個ORM(二級緩存變得毫無價值),工作單元模式(交易,毫無價值)以及設計的各個方面。最終,第二個開發人員必須製作更大,更大的HtmlHelpers,以便不同的元素可以共享數據訪問權限。
這最初是爲顯示模式完成的,編輯是通過一堆醜陋的自定義javascript完成的。總而言之,當頁面呈現時,它對數據庫進行了600次同步調用。
相關問題
- 1. 遠程數據庫幫助程序類
- 2. 用標記幫助程序替換HTML幫助程序
- 3. Html幫助程序語法
- 4. getIntent幫助程序類
- 5. 訪問幫助程序的Cookie
- 6. Rails I18n訪問路徑幫助程序
- 7. 需要關於masm32程序的幫助
- 8. Python AES解密程序(代碼幫助)
- 9. Java程序幫助
- 10. 幫助程序文件中的Rails視圖幫助程序
- 11. 需要關於進程的幫助
- 12. 在HTML幫助程序的幫助下創建img標記
- 13. 幫助Java程序(Swing +數據庫)
- 14. 訪問Ember中每個幫助程序的數據
- 15. 自定義HTML幫助程序類是否違反了ASP.NET MVC模型?
- 16. 需要幫助以瞭解程序
- 17. 從自定義HTML幫助程序訪問WebViewPage
- 18. 用於數據庫幫助程序類的C#設計模式
- 19. Asp.net mvc控件和html幫助程序
- 20. CakePHP Html幫助程序結構
- 21. HTML幫助應用程序記事本++
- 22. ASP.NET MVC:是否允許幫助程序獲取數據?
- 23. Android應用程序幫助
- 24. Ruby應用程序 - 幫助
- 25. 觸發器/程序幫助
- 26. Rails i18n幫助程序
- 27. CakePHP鏈接幫助程序
- 28. Ruby on Rails幫助程序
- 29. PHP程序的幫助
- 30. Rails路由幫助程序