У меня есть страница asp.net с кнопкой, событие, которое кнопка должна выполнить на своем событии щелчка, должно меняться, в зависимости от того, какие опции выбраны далее на странице. Сама кнопка включена в главную страницу, и на ее действия влияет выбор, сделанный на дочерней странице.
Для этого у меня есть метод на главной странице, который вызывается дочерней страницей, когда пользователь нажимает кнопку, которая передает обработчик событий для использования этой кнопкой, который затем назначается обработчику событий главной страницы для эта кнопка:
public void assignEvent( EventHandler saveEvent)
{
this.SaveButtonEvent+= saveEvent
}
Затем, когда кнопка сохранения на главной странице вызывает этот обработчик событий
protected void save_Click(object sender, EventArgs e)
{
if (this.SaveButtonEvent != null)
{
this.SaveButtonEvent(this, e);
}
}
Обработчик события назначается нормально в первом разделе кода, однако, поскольку нажатие кнопки сохранения вызывает обратную передачу, обработчик события SaveButtonEvent возвращается в ноль, и поэтому ничего не происходит.
Как сохранить содержимое обработчика событий SaveButtonEvent во время обратной передачи, или есть ли лучший способ сделать это?
EDIT:
Я могу заставить это работать, сохранив EventHandler в сеансе, но это не кажется хорошей идеей.