jpo*_*jpo 4 parameters asp.net-mvc
是否可以访问控制器中参数的显示名称?例如,假设我将参数定义为
public class Class1
{
[DisplayName("First Name")]
public string firstname { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我现在希望能够访问控制器中名字的显示名称。就像是
string name = Model.Class1.firstName.getDisplayName();
Run Code Online (Sandbox Code Playgroud)
有没有类似的方法getDisplayName()可以用来获取显示名称?
小智 6
首先,您需要获取表示该属性的 MemberInfo 对象。你需要进行某种形式的反思:
MemberInfo property = typeof(Class1).GetProperty("Name");
Run Code Online (Sandbox Code Playgroud)
(我使用的是“旧式”反射,但如果您可以在编译时访问该类型,您也可以使用表达式树)
然后您可以获取属性并获取 DisplayName 属性的值:
var attribute = property.GetCustomAttributes(typeof(DisplayNameAttribute), true)
.Cast<DisplayNameAttribute>().Single();
string displayName = attribute.DisplayName;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10351 次 |
| 最近记录: |