我已经为DisplayName编写了自定义属性,如下所示。
namespace CRM.Model
{
public class LocalizedDisplayNameAttribute : DisplayNameAttribute
{
private readonly string resourcekey;
public LocalizedDisplayNameAttribute(string resourceId)
: base(GetMessageFromResource(resourceId))
{
}
public static string GetMessageFromResource(string resourceId)
{
// My Localization logic
return LocalizationResourceProvider.Current.GetString(resourceId);
}
}
}
首次加载/启动模型时,将成功调用上述自定义属性类。
但是,如果,我将回发该页面,那么它就不会被调用。
例如,当我将我的语言从英语改为法语时。它仍然显示英文内容。
为什么会这样?我该如何解决这个问题?我们可以明确加载模型数据
答案 0 :(得分:0)
好吧,它是在构造函数中设置语言。这就是为什么它仅在第一次加载/启动模型时才有效。不确定您的解决方案的其余部分如何工作,但您也需要在其他地方运行本地化逻辑。
答案 1 :(得分:0)
尝试在应用程序启动时注册您的属性,see类似的线程。