单击下载链接后页面已死

时间:2010-08-18 22:39:22

标签: c# asp.net postback

我有几个链接按钮,每个按钮都打开保存对话框,让用户将文件保存到本地计算机。但是在点击任何链接后,页面都会死亡(无效),页面必须刷新。

所以我必须在下载完成后强行刷新或者是否必须使用回发做一些事情?

{

        StringCollection strValuesToSearch = new StringCollection();

        strValuesToSearch.Add("findword");

        string stringToReplace;

        stringToReplace = TextBox1.Text;




        using (StreamReader reader = new StreamReader(Server.MapPath("~/test.txt")))
        {
            string result = reader.ReadToEnd();





            foreach (string s in strValuesToSearch)
            {

                if (result.Contains(s))

                    result = result.Replace(s, stringToReplace);




                Response.Clear();
                Response.AppendHeader("content-disposition", "attachment; filename=super.txt");
                Response.ContentType = "text/plain";
                UTF8Encoding encoding = new UTF8Encoding();
                Response.BinaryWrite(encoding.GetBytes(result));
                Response.Flush();
                Response.End();

1 个答案:

答案 0 :(得分:1)

在没有客户端代码的情况下,这只是对导致问题的原因的猜测:

  1. 用户点击链接按钮
  2. JS向服务器发起getpost ajax调用,发送一些数据
  3. 服务器发送content-disposition标头,后跟文件数据
  4. ajax进程需要一些其他标题来表示操作已完成且此标头永远不会到达,因此它会无休止地等待锁定UI。