如果您要編寫一個函數/方法,對於輸入的字符串或slug(例如在Create或Edit視圖中),請進入數據存儲並檢查該字符串或slug是否存在,並在此情況下創建一個指向它的鏈接,你會把它放在哪裏?例如,我們在創建或編輯表單上有一個「鏈接」文本框。我有一個jQuery自動完成連接到它,它檢索現有的Page slugs。如果用戶決定選擇其中之一,我們將創建一個指向我們的網站內的內容的鏈接,基於頁面控制器上,像這樣:在ASP.NET MVC中,將ParseUrl()或類似函數用於數據存儲的位置?
~/Page/Display/some-slug
或只是
~/Page/some-slug
如果然而,用戶決定不選擇任何東西和輸入,例如www.google.com,我們在我們的ParseUrl()中捕獲它,用http:// ...等格式化並像這樣存儲它。
該函數的代碼沒有問題,我現在在模型活頁夾中工作。但是,由於在模型綁定器中DI與奇怪,混淆和反對的做法,我想將它移動到別的地方。另一個原因是從模型綁定器中刪除數據訪問代碼。
問題是 - 在哪裏移動這種funcionality?如果可能的話,我想避免在各種控制器操作中重複ParseUrl()調用。
針對模型活頁夾中DI的參數: http://stackoverflow.com/questions/2899680/how-to-use-ninject-or-other-di-ioc-container-with-the-model-binder-in -asp-net 模型活頁夾中DI的參數和代碼: http://iridescence.no/post/Constructor-Injection-for-ASPNET-MVC-Model-Binders.aspx http://www.dominicpettifer.co .UK /博客/ 39 /依賴性噴射在-ASP淨MVC-2 ---部-2 - modelbinders-的ViewModels – mare 2010-07-08 21:56:51