пошаговая проблема с проверкой на кнопку «назад» - PullRequest
2 голосов
/ 13 декабря 2010

У меня есть 3 шага формы, где я связываю для каждого шага в ViewModel, который имеет DataAnnotation. Все работает хорошо, за исключением того, что когда я нажимаю на мою «предыдущую» кнопку, вызывается проверка и, если отсутствуют значения, пользователь должен заполнить все необходимые поля. Если я перейду со ссылкой действия, данные не будут сохранены. То, что я ищу здесь, это способ сохранить мои значения без вызова проверки. Я также рассматриваю возможность использования файлов cookie, но не думаю, что это лучший способ сделать это.

Есть идеи или предложения?

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Хорошо, после долгих поисков, я нашел решение для использования мастера, такого как множественные формы с предыдущими и последующими кнопками, которые не будут вызывать проверку клиента из аннотаций данных и MicrosoftMvcValidation.js.Я нашел это сообщение: Плагин jQuery Validation: отключить проверку для указанных кнопок отправки , просто добавив класс к кнопке отправки, но он не работал для меня, поэтому я снова посмотрел и нашел этот: http://forums.asp.net/p/1622628/4165648.aspx Ведьма имеет решение, работающее на меня в javascript: document.getElementById ("someButton"). DisableValidation = true; Я бы предпочел решение jQuery, чтобы я мог что-то сделать с атрибутом класса своих кнопок, ноон работает на сегодня, и я потратил слишком много времени на это.

Надеюсь, это поможет кому-то еще, кто пытается сделать кнопку "Отмена" или формы, подобные мастеру, в MVC2 и хочет опубликовать форму вконтроллер, поэтому он должен очистить проверку.

1 голос
/ 13 декабря 2010

Я использую отдельные модели для каждого шага на страницах моего мастера. Я также проверяю, чтобы предыдущие щелчки не попадали в ModelState.IsValid, что вызывает проверку валидации.

Я сохраняю результаты каждого шага, используя состояние сеанса, хранящееся в SQL Server. Вы также можете использовать скрытые переменные, но мне не понравилось это решение.

Добавьте комментарий, если вам нужно больше подробностей или покажите какой-нибудь код, чтобы мы могли его увидеть.

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