c# - 继承 View 模型和更改 DisplayName 数据注释

标签 c# inheritance data-annotations asp.net-mvc-5.1

我有一个从基类 View 模型继承的 View 模型。我正在尝试更改继承类中的 DisplayName 元数据,但它不起作用。

这里是 View 模型:

namespace ViewModels
{
    public class BaseViewModel
    {
        [DisplayName(Name = "Base Description")]
        public virtual string Description { get; set; }
    }

     public class DerivedViewModel : BaseViewModel
     {
        [DisplayName(Name = "Derived Description")]
        public override string Description { get; set; }
    }
}

和 Controller :

    public ViewResult Create()
    {
        DerivedViewModel model = new DerivedViewModel();
        model.Active = true;
        return View(model);
    }

呈现 View 时,预期的显示名称是“Derived Description”,但我得到的是“Base Description”。

使用:MVC 5.1、.NET Framework 4.5、Visual Studio 2013

谁能告诉我如何覆盖派生类中的显示数据注释?

最佳答案

现在已经修复了。引入了最新的 jQuery 和 jQuery unobtrusive,这解决了这个问题。

关于c# - 继承 View 模型和更改 DisplayName 数据注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22170597/

相关文章:

c# - 访问 T4 模板中的自定义属性 (VS2012 MVC4)

c# - 数据注释、IDataErrorInfo 和 MVVM

c# - 如何在 System.Net.WebUtility.UrlEncode 中强制使用 %20 而不是 +

c# - 我应该始终使用导航属性还是使用 .Where 查询?

python - 使用多个 __init__ 参数子类化元组

c++ - C++中的虚拟继承和统一初始化

c# - 如何将字符串转换为代码? (C#)

c# - 如何访问 Windows 窗体中动态创建的复选框

C++ 棘手的继承类定义问题

c# - StringLengthAttribute 和本地化文本