我有一个 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>
但它不起作用。正如您在代码中看到的那样,我正在使用资源..
每当我从下拉列表中选择另一种语言时,我只想在页面上看到更改后的语言。
System.Threading.Thread.CurrentThread.CurrentCulture = MyChosenCulture;
就像在活动中使用获胜表格一样DropDown_Change
。但是在网络版本中。
那么我怎样才能做到这一点呢?