Я пытаюсь сделать следующее.Пользовательская модель-Binder, которая тянет из проблемы с файлом cookie?
Используйте связующее устройство по умолчанию для привязки объекта к строковым значениям запроса.
Если это не удается, я затем пытаюсь привязать объект к значениям cookie.
Однако я использую dataannotations для этого объекта, и у меня возникают следующие проблемы.
- Если параметров запроса не задано, связующее устройство по умолчанию даже не регистрирует никаких ошибок проверки в обязательных полях. По-видимому, он даже не запускает эти валидаторы, если само свойство не находится в коллекции строк запроса. Как я могу изменить это поведение? Я хотел бы, чтобы требуемые поля были ошибками, если они не содержатся в строке запроса.
- Если у меня есть ошибки проверки модели, я хотел бы затем загрузить модель из файла cookie, а затем повторить проверку объекта. Я не уверен, как получить привязку модели для проверки объекта, который я сам заполнил.
Вот что у меня есть.
public class MyCarBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var myCar = base.BindModel(controllerContext, bindingContext);
if (!bindingContext.ModelState.IsValid)
{
myCar = MyCar.LoadFromCookie();
// Not sure what to do to revalidate
}
return myCar;
}
}
Любая помощь в том, как правильно это сделать, будем очень признательны.
Я вижу часть 1 мой вопрос решается новой версии ASP.NET MVC 2. – Jeff
в основном заинтересованы в том, как вручную сделать проверку модели после загрузки объекта из печенья. – Jeff