重定向发生时,不会触发卸载事件

时间:2013-01-08 16:47:43

标签: asp.net c#-4.0 event-handling

我的页面中有一个卸载事件,当我导航到下一页时它不会触发?有没有选项在导航到下一页之前显式调用此事件? 我尝试过“window.onbeforeunload”但它在离开当前页面之前显示一条带有消息的提示。我不想显示提示?有没有可能实现这个目标?

[ASPX]

<asp:TreeView ID="TreeView1" runat="server" OnUnload="TreeView_Unload">
<Nodes>
<asp:TreeNode Text="Node1" NavigateUrl="http://www.google.com"></asp:TreeNode>
</Nodes>
</asp:TreeView>

[C#] protected void TreeView_Unload(object sender, EventArgs e) {

<asp:TreeView ID="TreeView1" runat="server" OnUnload="TreeView_Unload">
<Nodes>
<asp:TreeNode Text="Node1" NavigateUrl="http://www.google.com"></asp:TreeNode>
</Nodes>
</asp:TreeView>

1 个答案:

答案 0 :(得分:0)

您如何引导用户访问下一页?

如果您使用 Response.Redirect(URL,True),则响应将在此时结束,并且页面处理将无法完成(至少,我认为卸载事件不会火)。如果您强制立即重定向,那么您可以尝试将重定向更改为 Response.Redirect(URL,False),这样就可以让代码完成处理,然后在完成后重定向用户。