Как заставить пользователя сохранить?
У меня следующая ситуация: я кодировал aspx app C#, у пользователя есть 4 выпадающих списка, одно текстовое поле и две кнопки (отменить, сохранить) на странице. Мне нужно запомнить пользователя, чтобы сохранить любые изменения в текстовом поле, прежде чем он сможет изменить индекс любого выпадающего списка. Таким образом, если пользователь изменяет значение текстового поля, он может только отменить или сохранить эти изменения. Если он пытается сделать что-то еще, например, изменить индекс выпадающего списка, мне нужно отменить это событие и дать ему сообщение, чтобы сохранить или отменить, прежде чем сделать это.
Я пробовал много способов, но все они кажутся мне любителями и дают много побочных эффектов. Есть ли достойный / элегантный способ сделать это?
1 ответ
Создайте пользовательский валидатор для TextBox. В обработчиках событий SelectedIndexChanged DropDownList проверьте состояние TextBox и соответственно установите свойство args. IsValid для валидатора - вы можете уведомить пользователя через свойство ErrorMessage TextBox CustomValidator, чтобы нажать кнопку "Сохранить", если значение TextBox изменилось.