ASP.NET MVC3 - Неизменяемая модель - Добавить атрибуты проверки - PullRequest
0 голосов
/ 24 мая 2011

У меня есть набор классов моделей из другого раздела приложения, которые нельзя изменить.У них нет нужных мне атрибутов проверки (например, 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 или чего-то в этом роде?

1 Ответ

4 голосов
/ 24 мая 2011

Возможно ли это без создания класса ViewModel

Предполагая, что правильно спроектированное приложение ASP.NET MVC всегда должно использовать модели представлений, которые вы можете получить только от их представления. В дополнение к решению этой конкретной проблемы и сотен других потенциальных проблем у вас будет правильно спроектированное приложение ASP.NET MVC: -)

Привязка вашей модели к контроллеру (что и сделает RemoteAttribute) кажется ужасной идеей с точки зрения возможности повторного использования этой модели в других приложениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...