Is it true that the only way to close a browser window is to add JavaScript? The script can be added to the button onclick attribute on page load but this presents the problem that no Server-Side code will get executed but it will occur a bit faster. Below we are discussed many methods of making a browser window (page) close withowt prompt YES or No and some other methods such opening of the browser window on fullscreen without toolbox, menu bar and close[x] button.
Many developers argue and contend that it is impossible to deactivate close[x] button... Is it true?
Is is possible to remove title Bar , Resize buttons and close[x] button at right top from pop-up browser window
Sometimes (for example, in a pc-lock program, or error dialog where a decision must be made) you will not want your users to be able to close a window simply by pressing the X button. This code disables the X button, and also the Close item on the system menu that is displayed when you right-click on the title bar)
You could close a asp.net webpage dynamically write the following code for the button click event:
lines 59 - 62 in file WebForm1.aspx.cs in archive of the sample
private void Button2_Click(object sender, System.EventArgs e)
{ // window.close() instead of self.close()
Response.Write("<script language='javascript'> { self.close() }</script>");
}
We need the code that will work both in FF and IE for the page with close button is opened by another window. An interesting possibility is this:
<a id=anchor1 runat="server" href="javascript:window.open('','_parent',''); window.close();">
as a HTMLAnchor control and:
<asp:HyperLink id="webcontrol" NavigationURL=... ...</asp:HyperLink>
Many programmers ask the similar questions of opening a popup window, passing values to the popup window and then return values back to the parent page using both Internet Explorer and Firefox, We (PhotonSoft Ltd. and other companies) decided to take a plunge into the subject and experiment with an easy implementation. This article explains how to transfer values between the Parent page and a Pop-up window, how to open on fullscreen a .aspx form. an how to deactivate close[x] button with using only a Java Script imported The code has been tested against IE7 and Firefox.
Internet Explorer(IE) contains the showModalDialog() method which proves very effective while creating a modal dialog box and displaying a html document in it. One caveat being, showModalDialog() is not a W3C implementation. So it is not supported in Firefox (as of version 2.0.0.11). Firefox supports the window.open() method. However there is no built in functionality in Firefox that keeps the popup modal. At the most, you can use 'modal=yes' to make the popup appear in front. However unlike the showModalDialog() in IE, you cannot restrict the user to access the parent page when the popup is opened in Firefox. In short, it is not truly modal. There are different ways to get around this problem, however in this article, we will only focus on exchanging values between the parent and popup page.
In this article, we will see how to take a simple approach and create a popup window using both IE and Firefox, two or three methods programmatically Server-Side/Client-Side closing, and Java Scripts included into .aspx form to open it on Fullscreen and deactivating close[x] button using only Java Script. In the first part, we will pass in the first name from the parent page to the popup window. In the second part, the popup window will reverse the name and return the reversed string to the parent window. All set!! Let us get started.
Part 1 - Passing value to Popup window
Step 1: Open Visual Studio. Create a new website (File > New > Website / Description type "Test"). Set the location, filename and C# as a language of the project.
Step 2: In your Default.aspx, add a label (lblFName), textbox (txtFName) and a button (btnPopup). Set the 'Text' property of the label to 'FirstName'. Similarly set the 'Text' property of the button control to 'Show Popup'.
Step 3: Now add the following aspx forms: WebForm1.aspx, Default.aspx and Popup.aspx form. Right click your project (test1) > Add New Item > Web Form > Rename form as 'PopupWin.aspx' and click on Add.
Step 4: In the WebForm1.aspx you have to add three buttons Button1, javascript button labeled Open on FullScreen and Button3 In the PopupWin.aspx, add a textbox (txtReverse) and a button (btnReverse).
Well now we have three .aspx web forms, WebForm1.aspx, Default.aspx which is the parent page and PopupWin.aspx which will be the popup page and a little simple HTML page with two imported Java Scripts dontexitpage.js and popunder.js.
We start with:
lines 23 - 28 in file WebForm1.aspx.cs in archive of the sample
private void Page_Load(object sender, System.EventArgs e)
{
// Close window on Button Click (ASP.NET)
this.Button1.Attributes.Add("OnClick","self.close()");
}
An alternative of this is the following:
lines 59 - 62 in file WebForm1.aspx.cs in archive of the sample
/* private void Button2_Click(object sender, System.EventArgs e)
{ //window.close() instead of self.close()
Response.Write("<script language='javascript'> { self.close() }</script>");
} */
Region #region starts on line 52.
The code for button 3 is a simple redirection to a secret page. This button open browser window on fullscreen with only button1 on it:
lines 54 - 57 in file WebForm1.aspx.cs in archive of the sample
private void Button3_Click(object sender, System.EventArgs e)
{
Response.Redirect("dontexitpage.html");
}
fulscreen.js
function fullwin(targeturl){
window.open(targeturl,"","fullscreen,scrollbars")
}
Let us now pass a value from Default.aspx to the popup window.
Step 5: We will invoke the popup window on the button (btnPopup) click of Default.aspx. To do so, we will use Button.Attribute.Add and call a javascript function that will open the popup window. The javascript function will be contained in a seperate pop.js file which we will create shortly. Add this code in the code behind file of your Default.aspx.
protected void Page_Load(object sender, EventArgs e)
{
btnPopup.Attributes.Add("onClick", "javascript:InvokePop('" + txtFName.ClientID + "');");
}
Over here we are passing the ClientID of the textbox. ClientID is the identifier of the server control, generated by ASP.NET. You must be wondering why I am not passing the value of the textbox directly. Well passing the control has an advantage where there is more than one control that is passed to the popup page. While returning back the values from the popup to the parent page; it helps you to decide and determine which control receives which value. Even though we will be using only one textbox for simplicity, I thought of creating a sample which can be extended later by you to suit your needs. If the use of ClientID is not clear to you, wait till we get to part 2 of this article, and I will again touch upon the subject.
Step 6: Let us now create the javascript functionality which will open the Popup. Right click your project > Add New Item > Jscript file > Rename the file to pop.js. Add the following function to the pop.js file
function InvokePop(fname)
{
val = document.getElementById(fname).value;
// to handle in IE 7.0
if (window.showModalDialog)
{
retVal = window.showModalDialog("PopupWin.aspx?Control1=" + fname + "&ControlVal=" + val ,'Show Popup Window',"dialogHeight:90px,dialogWidth:250px,resizable:yes,center:yes,");

Join the conversation! Your thoughts help the community grow.