来自资源的DisplayName属性?

我有一个本地化的应用程序,我想知道是否可以DisplayName从Resource中为特定模型属性设置。

我想做这样的事情:

public class MyModel {

[Required]

[DisplayName(Resources.Resources.labelForName)]

public string name{ get; set; }

}

但是我不能接受,正如编译器所说:“属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式” :(

有什么解决方法吗?我正在手动输出标签,但是验证器输出需要这些标签!

回答:

如何编写自定义属性:

public class LocalizedDisplayNameAttribute: DisplayNameAttribute

{

public LocalizedDisplayNameAttribute(string resourceId)

: base(GetMessageFromResource(resourceId))

{ }

private static string GetMessageFromResource(string resourceId)

{

// TODO: Return the string from the resource file

}

}

可以这样使用:

public class MyModel 

{

[Required]

[LocalizedDisplayName("labelForName")]

public string Name { get; set; }

}

以上是 来自资源的DisplayName属性? 的全部内容, 来源链接: utcz.com/qa/414017.html

回到顶部