2
我有一个带有按钮的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);
}
}
事件处理程序中的代码的第一部分分配好了,但因为按保存按钮导致回发,SaveButtonEve nt事件处理程序被重新设置为空,所以什么都不会发生。
如何在回发期间保留SaveButtonEvent事件处理程序的内容,还是有更好的方法来做到这一点?
编辑:
我能得到这个通过保存事件处理程序的会话中工作,但是这似乎并不像一个伟大的想法。
你能展示你如何创建按钮?声明式还是编程式?如果是这样的话,在页面活塞? – Marcel 2013-08-07 11:35:23