Есть ли атрибут, который может отключить привязку модели для параметров сложных действий?
Мой сценарий такой: я использую Linq to SQL, но заставляю сгенерированные классы реализовывать интерфейсы. Например, IUser. Некоторые из моих действий контроллеров принимают параметры IUser, а некоторые из моих представлений связывают модели IUser, но я не хочу, чтобы средство связывания модели по умолчанию создавало его. Я использую Фильтры Действий для этого. Идея заключается в том, что если для действия требуются сведения о пользователе, фильтр действий получает их из базы данных, прежде чем вызывать действие.
Чтобы обойти ошибку, которая возникает, когда запускается DefaultModelBuilder, я создал механизм связывания нулевой модели, который просто возвращает ноль из CreateModel.
ModelBinderDictionary binders = System.Web.Mvc.ModelBinders.Binders;
binders[typeof(IUser)] = new NullModelBinder();