假设您的Web表单中有一个Button,并且OnClick绑定了一个代码隐藏事件。将控件移到主分页符事件绑定中吗?
然后,通过将该按钮添加到母版页的控件的控件集合中,将该按钮向上移动到母版页中。 这是在运行时在Page_Load事件中完成的。
OnClick事件现在绑定到哪里?仍然是Web表单的代码隐藏,还是查看母版页的代码隐藏?
我这样做了,现在我的按钮什么也没做。它将页面发回,但实际上并没有在代码隐藏中运行绑定事件。
我在两种情况下都检查了按钮的HTML。那唯一改变的是标识和名称,以反映命名容器的变化:
在Web表单(“搜索Maincontent”是的ContentPlaceHolder):
<input type="submit" id="ctl00_MainContent_DeleteButton" value="Yes, Delete" name="ctl00$MainContent$DeleteButton"/>
在母版页:
<input type="submit" id="ctl00_DeleteButton" value="Yes, Delete" name="ctl00$DeleteButton"/>
我已经运行调试器,并且可以确认它不再接触绑定事件。
它是将其绑定到事件的ID还是名称?如果是这样,我将它移动到母版页中是否会打破此绑定?
你是说呈现的HTML缺少JavaScript?是不是应该在那里调用__doPostBack(eventTarget,eventArgument)? – Josh 2010-01-19 19:02:47
那就是那里呈现的HTML,所以如果它不在那里,它就不会呈现。这就是让我认为事件处理程序在控件移动时断开连接的原因。 – Deane 2010-01-22 22:15:50