CultureInfo.GetCultures (CultureTypes.NeutralCultures) DisplayName 属性在应用程序发布时给出不同的结果

问题描述

直播:

publish-state

本地:

local-state

代码

<select name="Language" asp-for="Language" class="form-control" id="Language">
    @foreach (var cultureInfo in Model.CultureInfos)
    {
        if (cultureInfo.TwoLetterISOLanguageName == "en")
        {
            <option selected value="@cultureInfo.Name">@cultureInfo.displayName</option>
        }
        else
        {
            <option value="@cultureInfo.Name">@cultureInfo.displayName</option>
        }
    }
</select>

这可能是因为我们发布应用程序的机器。但我不知道我们如何解决这个问题。比如,换机器语言就够了吗?

解决方法

正如我在评论中提到的,要修复它,我们可以使用 EnglishName,而不是 DisplayName。