asp.net-mvc-3 - MVC3 属性的不同显示名称

标签 asp.net-mvc-3 data-annotations

我的 View 模型有以下属性:

[Display(Name ="Contractor Name")]
public string Name { get; set; }

由于我在不同的地方使用此 View 模型,因此我想根据派生类将属性名称更改为“客户名称”、“其他名称”等。这将帮助我获得正确的验证消息等。

是否可以重写派生类中的 Name 属性?

谢谢

最佳答案

这对我有用。

public class PropertyTitle : DisplayNameAttribute
{
    public int _ID { get; set; }

    public PropertyTitle(int ID)
    {
        this._ID = ID;
    }

    public override string DisplayName
    {
        get
        {
            if(_ID == 1)
               return "1";
            else if(_ID == 1)
               return "2";
            return "";
        }
    }
}

public class TestModel
{
    [PropertyTitle(2)]
    public string MyTextField { get; set; }
}

关于asp.net-mvc-3 - MVC3 属性的不同显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16489699/

相关文章:

html - 拉伸(stretch) TextAreaFor 并处理未确定长度的列表

asp.net-mvc-3 - 尝试从 Controller 的 Action 方法自动生成 MVC3 的 View 时出现问题

asp.net-mvc-3 - 我的模型应该如何将动态添加的文本框的数据存储在数据库中?

asp.net-mvc-3 - MVC找出当前Web请求是针对 Controller /操作还是静态资源

asp.net-mvc - ASP.NET MVC 2 中的 DataAnnotationsModelBinder 问题

c# - 如何使用 TagBuilder 呈现自关闭标签?

c# - 无法用 lambda 表达式替换字符串 propertyName 参数

c# - 为什么在使用 Entity Framework 时我的带有数据注释的列不会映射

asp.net-mvc - MVC ModelMetaData 属性和格式化日期的问题

c# - 如何将 DisplayName 设置为 ErrorMessage 格式