2011-03-11 4 views
1

Разве это не является нарушением принципа разделения проблем, когда вы используете RemoteAttribute в свойстве модели, чтобы указать, какие действия и контроллер нужно вызвать? Это заставляет привязать вашу модель к определенному контроллеру с помощью строковых аргументов.ASP.NET MVC 3 RemoteAttribute и разделение проблем

+0

Как вы определяете удаленный атрибут ajax? Как вы не можете быть привязаны к каким-либо действиям, поскольку вам нужно позвонить ему со стороны клиента? Самая большая проблема с Remote Attribute (imo) заключается в том, что нет реальной проверки на стороне сервера (когда модель привязана, скажем, к сообщению form/ajax). – Linkgoron

+0

Запрос ajax по-прежнему является обычным HTTP-запросом. Вы можете сопоставить его, когда будете сопоставлять любые другие запросы. –

+0

Очевидно, вы могли бы определить его как запрос. Затем вы привязаны к определенному URL-адресу. – Linkgoron

ответ

0

Да, но это так, используя все другие атрибуты DataAnnotations.

К счастью, система метаданных модели в MVC подключается, поэтому вы можете написать свой собственный поставщик метаданных, который не привязан к атрибутам класса модели.

+1

@marcind ... Это меня интересует. Почему вы считаете DataAnnotations нарушением разделения проблем? Как я вижу, DataAnnotations определяет правила, которым соответствует ваша модель. Я не вижу, например, того, как Required или Range препятствуют разделению проблем, поскольку они в основном действуют как метаданные для свойств. В то время как другие классы знают, как интерпретировать эти метаданные в validation/etc, это не является проблемой, которая относится к классу, который имеет метаданные. – Linkgoron

+0

извините, это означает, что разные люди подходят друг к другу по-разному, и есть те, кто считает, что атрибуты слишком сильно привязывают модели данных к бизнес-правилам и т. Д. На мой взгляд, это вопрос личных предпочтений. (И технически, большое количество атрибутов DataAnnotations фактически является тем, что выполняет проверку) – marcind

Смежные вопросы