Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .Net核心-Razor视图中的文化_C#_Razor_Asp.net Core Mvc - Fatal编程技术网

C# .Net核心-Razor视图中的文化

C# .Net核心-Razor视图中的文化,c#,razor,asp.net-core-mvc,C#,Razor,Asp.net Core Mvc,我试图从Razor页面获取.NETCore2中的当前文化。 基本上我有一个处理各种语言的网站。在页面顶部,我将页面标题设置为 @{ Layout = "~/Views/Shared/_LayoutNotAuthorised.cshtml"; ViewBag.Title = ApplicationName.Resources.Authentication_Login.Resources.PageTitle.Productise("http://localhost"); } 如您所

我试图从Razor页面获取.NETCore2中的当前文化。 基本上我有一个处理各种语言的网站。在页面顶部,我将页面标题设置为

@{
    Layout = "~/Views/Shared/_LayoutNotAuthorised.cshtml";
    ViewBag.Title = ApplicationName.Resources.Authentication_Login.Resources.PageTitle.Productise("http://localhost");
}
如您所见,我有一个名为“Productise”的扩展方法,它从资源中获取字符串(其中包含占位符),基本上用产品名称替换它。我遇到的问题是,我创建了一个过滤器,它根据cookie或浏览器设置(始终存在)设置当前线程的区域性。这工作正常,我可以在即时窗口检查控制器内的这一点

我面临的问题是,当控制器返回视图,然后我逐步查看视图的razor代码(并在即时窗口中执行相同的检查)时,它显示当前线程的区域性为空。当razor页面调用扩展方法时,此时区域性仍然为空

这是注定要发生的还是一个错误?这是从非核心应用程序的迁移


谢谢,

您通读了吗?虽然我不知道为什么现在你会失败,但我可能会尝试遵循i18n预期方法的“快乐之路”,而不是创建一个替代方法。是的,我研究了新方法,但我希望做新方法中没有涵盖的多项事情(旧方法也没有完全涵盖它们)所以我创建了自己的数据库驱动(不是资源文件)并且是动态的,即公司A可以将其帐户中的“记录Id”更改为“案例Id”,而公司B可能希望将其保留为“记录Id”…然后每个记录都可以有多个翻译等。这听起来就像是自己实现IViewLocalizer的问题-中间件的其余部分可以保持不变。