【问题标题】:Unload event does not fire when redirection happens发生重定向时不会触发 Unload 事件
【发布时间】:2013-01-08 16:47:43
【问题描述】:

我的页面中有一个卸载事件,当我导航到下一页时它不会触发?在导航到下一页之前,是否有任何选项可以显式调用此事件? 我已经尝试过“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(对象发送者,EventArgs e) {

}

【问题讨论】:

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


    【解决方案1】:

    您如何将用户引导至下一页?

    如果您使用的是 Response.Redirect(URL, True) 则响应将在该点结束并且页面处理将不会完成(至少,我认为卸载事件不会火)。如果您要强制立即重定向,那么您可以尝试将重定向更改为 Response.Redirect(URL, False),这将允许您的代码完成处理,然后在完成后重定向用户。 p>

    【讨论】:

    • 嗨 Stevie,我已经在 TreeView 节点本身中指定了重定向 url。 (google.com"></asp:TreeNode>).So,在单击节点时发生重定向。我想在它导航到特定页面之前触发此卸载事件。
    • 您能否添加更多代码来说明您在做什么? Treeview 是否不会在用户单击以导航而不是回发的标记上创建超链接?
    • 如果您尝试上面的代码,您将得到真正的问题。使用上述代码时生成的 Html:
      TD> google.com" class="MainContent_TreeView1_0">Node1
    • 为什么当用户点击一个链接时你希望卸载函数运行?您返回给用户的标记具有超链接,因此当用户单击链接时,不会回调您的服务器,用户只会访问 Google.com。您已经在 Unload 函数中说明了您要执行的操作,但是由于您不应该期望用户返回页面,因此您的卸载代码应该在您完成页面创建后运行
    猜你喜欢
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多