Web フォームがあり、各コントロールのタイトルをドロップダウンで選択した言語に変更したいと考えています。
しかし、私はそれをすることができませんでした。私はjsonと複雑なものをいじりました。
ここで私が試したこと:
コントローラ
string newstr = db.Countries.Where(c => c.CountryTag.Contains(incoming)).Select(c => c.CountryTag).First().ToString();
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(newstr, false);
Resources.Global.Culture = ci;
見る
<script type="text/javascript" language="javascript">
function changeLang(chosen) {
var lang = $("#Language").val();
$.getJSON('@Url.Content("~/Home/Globalx/")', { incoming: lang }, function (data) {
location.reload(false);
$("#Language").options.selectedIndex = data;
})
}
</script>
<div>
@Html.DropDownList("Language", (SelectList)ViewData["Language"], new { onchange = "changeLang(this)" })
</div>
<div>
@Resources.Global.Wellcome
</div>
しかし、それは機能しません。コードでわかるように、リソースを使用しています。
ドロップダウンから別の言語を選択するたびに、変更された言語をページに表示したいだけです。
イベント bla bla .. で win フォームを使用しているときのように、Web バージョンでSystem.Threading.Thread.CurrentThread.CurrentCulture = MyChosenCulture;
は。DropDown_Change
どうすればこれを達成できますか?