用户控件和页面的加载顺序、生命周期
今天更新了一个新功能,当选题关系建立后,学生在查看“任务书”、“开题报告”等文档,或者老师在查看某个学生的文档,可以通过一个“快速短消息链接”给对方发送短消息,方便师生间的交流,也强化了站点的短消息功能。
我把改功能封装在了一个“用户控件“里。所以、、碰到了执行顺序的问题。
我是在页面Page_Load 的时候,对用户控件进行赋值,然后用户控件再在Page_Load 对链接进行更新,结果造成了,链接一直无法正常更新,通过单步调试2个Page_Load事件,也马上找到了问题所在,原来用户控件的Page_Load 先于 控件所在页面的Page_Load 执行,所以就造成了无法对用户控件进行有效赋值。
解决办法:把用户控件里的赋值代码写到Page_PreRender 里,问题解决。
PS:以前在VS2003的时候,都会在“属性”-“事件”里找到很多Page_PreRender 、Page_Load、Page_Init事件,VS05 08貌似就只有Page_Load,其实只要复制Page_Load方法体的代码,把Page_Load换成对应的事件即可,如:
代码
private void Page_PreRender(object sender, EventArgs e)
{
{
}


浙公网安备 33010602011771号