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

C# CultureInfo.GetCultures(CultureTypes.NeutralCultures)DisplayName属性在发布应用程序时给出不同的结果,c#,asp.net-mvc,asp.net-core,C#,Asp.net Mvc,Asp.net Core,现场直播: <select name="Language" asp-for="Language" class="form-control" id="Language"> @foreach (var cultureInfo in Model.CultureInfos) { if (cultureInfo.TwoLetterISOLanguageName == "en

现场直播:

<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>

本地:

<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>

代码:

<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>

@foreach(Model.cultureInfo中的var cultureInfo)
{
如果(cultureInfo.TwoLetterIsLanguageName==“en”)
{
@cultureInfo.DisplayName
}
其他的
{
@cultureInfo.DisplayName
}
}

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

正如我在评论中提到的,要修复它,我们可以使用英语名称,而不是显示名称。

尝试清除浏览器数据(缓存、cookie等),并重新检查它是否工作。此外,您可以尝试使用NativeName或EnglishName,而不是DisplayName。谢谢您的建议。第一种方法不起作用,但我将尝试NativeName或EnglishName。使用EnglishName解决了问题。谢谢@Zhi LvHi@berkansasmaz,很高兴听到它确实帮助解决了问题。我加上它作为一个答案,希望它能帮助其他社区成员迅速解决类似的问题,请接受它-见。谢谢你的理解,祝你度过愉快的一天。