在.net框架中使用多年的webform应用程序多年后,我是.net核心开发的新手。
我尝试本地化一个新项目并查看为此特定用途确定的选项,即共享资源是长期最易维护的解决方案,并遵循此示例:https://damienbod.com/2017/11/01/shared-localization-in-asp-net-core-mvc/
这似乎非常适合在视图中添加本地化数据,但我很难在控制器中执行此操作,例如在服务器端捕获某些内容时返回本地化错误并返回自定义消息。< / p>
在我的控制器中,我添加了
private readonly LocService _SharedLocalizer;
如果我尝试添加
,在控制器的视图方法中ViewBag.localizedmessage = _SharedLocalizer.GetLocalizedHtmlString("message")
访问此行的页面时出现空错误。
如果我在视图方法中创建一个新实例,我不确定要提供什么作为IStringLocalizerFactory的参数值。
_SharedLocalizer = new LocService();
我缺少的是什么,或者如何正确访问控制器中的共享资源?
答案 0 :(得分:0)
尝试一下
public class YourController : Controller
{
private readonly LocService _SharedLocalizer;
public YourController(LocService localizer)
{
_SharedLocalizer = localizer;
}
}