[英]Dynamic model binding in ASP.NET MVC Razor for multilanguage
我想在我的ASP.NET MVC項目中使用多語言結構。 我只有兩種語言。 因此,我在數據庫中保留了兩種語言的兩種字符串字段(例如:Header_EN和Header_TR)。
我從.resx文件中動態獲取當前語言值(例如:EN或TR)。 但是我必須使用動態模型。 通常我將這種語言用於單一語言:
@model MyProject.Models.tTextTable
<div class="TextDetailContainer">
@Html.Raw(Model.MyTextDetail_EN)
</div>
我想為多語言使用動態模型值,例如:
@model MyProject.Models.tTextTable
<div class="TextDetailContainer">
@Html.Raw(Model.("MyTextDetail_" + Resources.Language.CurrentLanguage))
</div>
有沒有可能用這種邏輯來做到這一點,或者有另一種方法可以在Razor中創建動態模型?
如果模型是dynamic
則可以將其IDictionary<string, object>
為IDictionary<string, object>
並從中獲取值:
var dictionary = (IDictionary<string, object>)model;
var text = dictionary ["MyTextDetail_" + Resources.Language.CurrentLanguage] as string;
盡管您可能應該擁有一個MyTextDetail
屬性,然后在控制器中將其設置為適當的本地化值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.