2009-09-01 185 views
0

我使用Page_Load中的ScriptManager.RegisterStartupScrit,它非常完美。无法从Page_Load以外的执行中注册启动脚本

当我将同一行移动到Page_Unload事件时,它不起作用;脚本没有注册。

有什么建议?

+0

为什么要在页面卸载时尝试注册启动脚本? – CAbbott 2009-09-01 13:37:31

+0

我想根据在Button_Click等事件期间发生的事情输入脚本。 我不会真的在乎另一种方式,但它必须在Page_Load之外完成。 – Shimmy 2009-09-01 13:40:09

回答

2

Page_Unload事件在创建页面并输出html后调用。该事件旨在用于清理必须由页面释放的所有资源。

你为什么在这里调用ScriptManager.RegisterStartupScript?

编辑: See here概述了ASP.Net页面的页面生命周期。它应该帮助你确定你的代码的放置位置。最有可能的是你最后一次调用ScriptManager.RegisterStartupScript在Page_PreRender事件中。

+0

我想根据Button_Click等事件发生的情况输入脚本。 – Shimmy 2009-09-01 13:39:22

+0

PreRender是在处理完控制事件之后,因此您可以在那里运行您的代码 – 2009-09-01 13:40:51

+0

这就是答案。 请更新您的原始答案,我会标记它。 – Shimmy 2009-09-01 13:44:54