2012-03-16 5 views
0

У меня есть следующая ситуация: Я закодировал приложение aspx C#, у пользователя есть 4 dropdownlists, одно текстовое поле и две кнопки (отменить, сохранить) на странице. Мне нужно, чтобы пользователь помнил, чтобы сохранить изменения в текстовом поле, прежде чем разрешить ему изменять индекс любого раскрывающегося списка. Таким образом, если пользователь меняет значение текстового поля, у него есть только возможность отменить или сохранить эти изменения. Если он пытается сделать что-то еще, например, изменить индекс выпадающего списка, мне нужно отменить это событие и дать ему сообщение сохранить или отменить, прежде чем делать это.Как заставить пользователя сохранить?

Я пробовал много способов, но все они кажутся мне amatours и дают много коллабельных эффектов. Есть ли достойный/элегантный способ сделать это?

+0

Я дал ответ ниже, но мне действительно интересно узнать, чего вы пытаетесь достичь, потому что у него плохой запах; независимо от бизнес-логики, я готов поспорить, что есть более простой способ ... – IrishChieftain

ответ

0

Создайте пользовательский валидатор для TextBox. В обработчиках событий DropDownList SelectedIndexChanged проверьте состояние TextBox и правильно установите свойство args.IsValid - вы можете уведомить пользователя через свойство TextBox CustomValidator ErrorMessage, чтобы щелкнуть Сохранить, если значение TextBox изменилось.

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