繁体   English   中英

asp.net 控制一个网页的关闭

[英]Asp.net control the closure of a web page

我有一个带有这个简单代码的 Asp.net WebForm:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    CodeBehind="Test.aspx.cs" Inherits="NetmedWeb.Test" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript">
            function quit() { event.returnValue = "Confirm?" }
        </script>
    </head>
    <body onbeforeunload="quit(); return 'Sure?';">
        <div>
            Try to close me !!!
        </div>
    </body>
    </html>
</asp:Content>

如果我尝试关闭浏览器或关闭页面,即使我更改了页面,脚本也能正常工作。 但是,我希望脚本仅在某些情况下激活,并非总是如此,在 C# 代码方面。 例如:

private void TestScript()
{
    if (mycondition)
    {
        Activate script
    }
}

是否有可能做到这一点? 如?

您必须进行 AJAX 调用以告诉您的后端此事件正在发生。 检查这个帖子:

https://stackoverflow.com/a/3428398/2941659

您可以简单地在<body>标签内放置一个变量。

<body onbeforeunload="<%= unload %>">

然后在需要时从后面的代码将其设置为脚本

public string unload = "";

protected void Page_Load(object sender, EventArgs e)
{
    if (condition)
    {
        unload = "quit(); return 'Sure?';";
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM