Home >Web Front-end >Front-end Q&A >asp.net button event closes the page_no javascript code required
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" />
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>"); }
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(); }
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();");
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); }
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!