ASP.NET MVC3-不变模型-添加验证属性

问题描述

|| 我有来自应用程序另一部分的一组模型类,这些类不能被修改。这些没有我需要的验证属性(例如,RemoteAttribute)。我该如何添加这些?我无法将[MetadataTypeAttribute]添加到模型中。 为了显示
    //in Models.dll
    //remember: I can\'t modify this
    public class Product
    {
        string Name { get; set; }
    }

   //in Web.dll
    public class ProductController
    {
        // GET: /Product/
        public ActionResult Index()
        {
            return View(new Product());
        }
    }

    //what i need:
    public class ProductMetadata
    {
        [Remote(\"Foo\",\"Bar\")]
        [RegularExpression]
        string Name { get; set; }
    }
不创建viewmodel类或类似的东西,这是否有可能?     

解决方法

  是否可以以任何方式在不创建ViewModel类的情况下 假设正确构建的ASP.NET MVC应用程序应始终使用视图模型,则只能从引入它们中受益。除了解决此特定问题和数以百计的其他潜在问题之外,您还将拥有一个结构合理的ASP.NET MVC应用程序:-) 将模型绑定到控制器(这就是“ 1”的作用),就该模型在其他应用程序中的可重用性而言,这似乎是一个可怕的想法。