簡體   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