我在尋找以下問題的一個很好的解決方案:顯示在MVC視圖可變文本
我有一個ASP.NET MVC web應用,由幾個我的客戶使用。在應用程序中,客戶可以登錄,查看包含信息的多個頁面並填寫多種表格。這一切都很好。
但是,我想要的是在視圖中顯示不同的文本,具體取決於客戶端的屬性(本例中爲A類型)。這些文本可以是多語言的,用戶可以在應用程序中更改語言。
我已經想出了幾個解決方案,但我不確定最好的想法是什麼。這是我的想法而已:
保存在數據庫
信息在這種情況下,我將創建一個表(如「ProgramTexts」),用一個密鑰,客戶端的類型,語言和文本它自己。在我的控制器中,我會檢索在該視圖中使用的Keys,將它們設置在ViewModel中並將該視圖模型傳遞給視圖。在視圖中,我可以很容易地在ViewModel中顯示給定變量的值。
我認爲這對於一個小網站來說很好,但是對於許多不同的控制器和視圖來說似乎有點粗糙。我寧願直接從視圖中調用文本,但從視圖中調用數據庫並不會更好。
資源文件
我其他的想法將被使用,因爲在本地化功能構建的資源文件。但我不確定如何從一個資源中檢索一個變量,這個變量是基於一個額外的變量(這種情況下的類型)。
有沒有人有關於如何實現這一目標的另一個想法?
我的投票是資源文件,應用程序的性能更好 –