我正在開發一個應用程序,該應用程序使用ASP.NET MVC3作爲通過接口與服務層交談的前端。所有的接口/服務都通過ninject和構造函數注入到控制器中。如何使用MVC3中的localizationService本地化視圖
我想通過由ninject提供的位置服務來通過所有本地化。
在控制器端足夠簡單,我在控制器基類中添加了一個Localize函數,並將ILocalizeService添加到構造函數中,並且完成了。任何時候我需要本地化一個字符串,我可以調用本地化函數,然後調用這個服務。
現在我正試圖找出一個乾淨的方式來做到這一點的觀點。我有一個基本的View類,它在控制器中公開了一個Localize函數,所以我可以在視圖上傳遞任何靜態文本,但是我找不到一個乾淨的方式來獲取我的本地化服務的實例。我已經閱讀了大量的帖子,說DI進入一個觀點是不好的做法,但在這種情況下,我認爲基本觀點是在視圖中集中文本本地化的最乾淨的地方(當然,我會接受任何其他選擇不需要我通過我的內核)
任何人都可以指示我的例子或如何做到這一點乾淨的建議。
感謝您的意見。實際上,在那篇文章的最後我從i18n nuget包Scott引用了我的一些想法。我正在開發的應用程序有一個Web前端,以及一個通過服務層進行交談的API,並且API也需要進行本地化。從技術上講,我可以通過資源文件或每種語言查看分別對視圖進行本地化(因爲通過API無法訪問數據),但我想將所有翻譯集中在服務層的一個地方 – Peter
我剛想出如何通過屬性注入將視圖注入視圖。 Ninject/MVC中是否有一種機制允許您爲視圖使用構造函數注入,還是僅僅在框架中創建視圖時不可能? – Peter