You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 8 MVC共享视图本地化失效问题排查

问题排查与修复方案

1. 补全RequestLocalizationOptions的UICulture配置

你的RequestLocalizationOptions仅配置了SupportedCultures,但UI本地化依赖SupportedUICultures,缺失该项会导致视图本地化失效。修改Program.cs中的配置:

builder.Services.Configure<RequestLocalizationOptions>(opt =>{
    opt.DefaultRequestCulture = new RequestCulture(supportedLanguages[0]);
    opt.SupportedCultures = cultures;
    // 新增UICulture配置
    opt.SupportedUICultures = cultures;
    // 明确指定Cookie为优先本地化提供器
    opt.RequestCultureProviders = new List<IRequestCultureProvider>
    {
        new CookieRequestCultureProvider()
    };
});

2. 检查资源文件属性

右键.resx资源文件→属性,确保:

  • 自定义工具设置为ResXFileCodeGenerator
  • 自定义工具命名空间设置为Localization.Views.Shared(与文件路径层级对应)

3. 优化Lang方法的Cookie有效期

将Cookie有效期改为DateTimeOffset,避免时区问题:

new CookieOptions{ Expires = DateTimeOffset.Now.AddYears(1) }

4. 验证视图调用与资源键

确认_Layout.cshtml中@Localizer["search"]的语法正确,且对应.resx文件中存在search这个键值对。


内容的提问来源于stack exchange,提问作者progrAmmar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 06:40:12