У меня есть более 600 страниц, у всех есть кнопка отмены, и все они вызывают одну строку Response.Redirect("~/Default.aspx");
для перехода на главный экран , Все страницы наследуются от базовой страницы, и я не уверен, почему нажатие кнопки не было просто определено на базовой странице, поскольку все это было на месте, прежде чем я начал работать над ней.Можно ли сделать событие нажатия кнопки на родительской странице иметь приоритет над событием на дочерней странице
Я пытаюсь переместить событие нажатия кнопки на базовую страницу, потому что вместо того, чтобы всегда идти в корень сайта, теперь нужно перейти к одному из четырех экранов дома в зависимости от области сайта, которую пользователь в настоящее время, поэтому мне нужно выполнить некоторые функции до того, как произойдет перенаправление.
Я знаю, что я могу просто удалить событие нажатия кнопки со страниц и добавить его на базовую страницу, но это означает, что вы тратите на более чем 600 страниц, так что мне было интересно, если можно добавить событие нажатия кнопки на базовую страницу и сделать ее переопределением любого события на реальной странице, поэтому мне не нужно их удалять. Просто добавление события на базовую страницу не работает, так как всегда кажется, что он запускает событие страницы и даже не смотрит на базовую страницу.
Я попытался добавить рекурсивную FindControl
петли на базовую странице событий OnInit
и OnLoad
найти кнопку и переопределить Button.PostBackUrl
, но оказывается, что цикл через управление вызывает проблемы в других областях. Это проблема еще на один день!
Я знаю, что это не лучшее решение, поскольку оно оставляет избыточный код на всех страницах, но мне просто нужно быстрое решение.
Любая помощь будет оценена по достоинству. Thanks
Имеет ли обратная кнопка общее имя. Если это так, вы можете использовать javascript, чтобы отключить кнопку в init и показать только одну из вашей базовой страницы. – XtremeBytes
@XtremeBytes Привет, спасибо за ваш ответ. Да, все они имеют общее имя, но дело в том, что я не хочу отключать кнопку, я просто хочу изменить событие, которое он называет кликом. Я хочу использовать ту же кнопку – Sukhy
OOP не работает в этом направлении. Ребенок наследуется от родителя. Следовательно, ребенок может переопределить то, что он унаследовал от своего родителя, но родитель не может переопределить ребенка. (Возможно, ребенок даже не существует.) Возможно, вы сможете уйти с маркировкой метода как «запечатанный» в базовом классе. Это предотвратит его переопределение, но я подозреваю, что существующая архитектура не будет поддерживать это без каких-либо изменений, которые вы хотите избежать. – DeadZone