• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1668
  • Last Modified:

How do i close pop up window after opening a document from a link in popup?

i am implementing a functionality of check out. when i am click on check oot button a popup will open. In pop up we have a link button "Download", when the user click on this link we have to open a document and also we have to close pop up window. we are able to  open the document but not able to close the pop up window.
0
Parthap
Asked:
Parthap
  • 2
  • 2
1 Solution
 
vjc2003Commented:
how are you opening the document from the popup?
is window.close() not working?
0
 
ParthapAuthor Commented:
no window.close is not working.

on click event i set some value, and call Server.Execute() as shown below  

        Session["DocRef"] = Request.QueryString["DocRefNo"].ToString();
        Session["DocName"] = Request.QueryString["DocName"].ToString(); ;
        Session["DocExt"] = Request.QueryString["DocExt"].ToString(); ;
        Session["DocSec"] = Request.QueryString["DocSec"].ToString(); ;
        Session["DocVerNo"] = Request.QueryString["DocVer"].ToString(); ;
        Server.Execute("../Common/ViewDoc.aspx");
        Response.Write("<script>window.close();</script>");


In ../Common/ViewDoc.aspx  page i have write some code as shown below in Page_Load.

        Response.ClearContent();
        Response.ClearHeaders();
        Response.Buffer = true;
        Response.BufferOutput = true;

        Response.AddHeader("content-disposition", "attachment;filename=" + Session["DocName"].ToString());

       Byte[] bytBinaryReadContent = Convert.FromBase64String(strcontent);
            Response.BinaryWrite(bytBinaryReadContent);  

       Response.Flush();
       Response.Close();
0
 
zeroxpCommented:
here is a little trick you can try: after you set all your session values, instead of do a Server.Execute open another download window before close the current popup.
//Set Session
//Session["DocRef"] = Request.QueryString["DocRefNo"].ToString();
//Session["DocName"] = Request.QueryString["DocName"].ToString(); ;
//Session["DocExt"] = Request.QueryString["DocExt"].ToString(); ;
//Session["DocSec"] = Request.QueryString["DocSec"].ToString(); ;
//Session["DocVerNo"] = Request.QueryString["DocVer"].ToString(); 
Response.Write("<script type=\"text/javascript\">window.open('../Common/ViewDoc.aspx'); window.close();</script>");
//more preferablely
ClientScript.RegisterClientScriptBlock(this.GetType(), "script01", "window.open('../Common/ViewDoc.aspx'); window.close();", true);
 
 
//in the ViewDoc.cs
byte[] buff = YOUCONTENT;
Response.Clear();
Response.AppendHeader("content-disposition", "attachment;filename=file.data");
Response.AppendHeader("Content-Length", buff.Length.ToString());
Response.BinaryWrite(buff);
Response.End();

Open in new window

0
 
ParthapAuthor Commented:
Hi,

//ClientScript.RegisterClientScriptBlock(this.GetType(), "script01", "window.open('../Common/ViewDoc.aspx'); window.close();", true);

I tried this also, but it can not open document. After click on link page is blank out and stuck there only.
0
 
zeroxpCommented:
my fault, should be:


but check your viewdoc form too. if it writes the file correct, it should not stuck there with a blank page.
ClientScript.RegisterClientScriptBlock(this.GetType(), "script01", "window.open('../Common/ViewDoc.aspx'); window.close();");

Open in new window

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now