Home > Web Front-end > Front-end Q&A > asp.net button event closes the page_no javascript code required

asp.net button event closes the page_no javascript code required

王林
Release: 2023-05-29 19:03:36
Original
1695 people have browsed it

In ASP.NET, closing the current page usually requires JavaScript code to be implemented, such as using the window.close() method. But sometimes it is necessary to close the page in button event without using JavaScript code. This article will introduce how to use button events to close the page in ASP.NET.

First, add a button control in the ASP.NET page and set its property value:

<asp:Button ID="btnClose" runat="server" Text="关闭页面" OnClick="btnClose_Click" />
Copy after login

Then, add the following code in the button's Click event:

protected void btnClose_Click(object sender, EventArgs e)
{
    Response.Write("<script>window.close();</script>");
}
Copy after login

The above code uses the Response.Write method to output JavaScript code to the page, thus realizing the function of closing the current page.

However, there is a problem with this implementation: if the pop-up window blocking function is turned on in the browser, the JavaScript code will not be executed, causing the page to fail to close.

In order to solve this problem, you can use another way provided by ASP.NET to close the page, that is, use the Response.End method on the server side.

Add the following code in the Click event of the button:

protected void btnClose_Click(object sender, EventArgs e)
{
    HttpContext.Current.Response.Flush();
    HttpContext.Current.Response.SuppressContent = true;
    HttpContext.Current.ApplicationInstance.CompleteRequest();
}
Copy after login

The above code uses the HttpContext.Current object and calls the Response.Flush, Response.SuppressContent and ApplicationInstance.CompleteRequest methods to close the page , which is not affected by browser pop-up blocking.

In addition, you can also use the server-side JavaScriptSerializer class to serialize JavaScript code into server-side variables, and then use the variable in the button's Click event to close the page.

First, create an instance of the JavaScriptSerializer class and serialize the JavaScript code:

JavaScriptSerializer serializer = new JavaScriptSerializer();
string script = serializer.Serialize("window.close();");
Copy after login

Then, use this variable in the button's Click event to close the page:

protected void btnClose_Click(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(this, GetType(), "close", 
        "<script>" + script + "</script>", false);
}
Copy after login

The above code uses the ScriptManager.RegisterStartupScript method to register a startup script so that the JavaScript code that closes the page will be executed after the page is loaded.

In short, there are many ways to close a page in ASP.NET, and you can choose the appropriate method according to actual needs. However, it should be noted that try not to use these methods during page loading to avoid unnecessary operations.

The above is the detailed content of asp.net button event closes the page_no javascript code required. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template