none
QUickPart 承载用户控件问题 RRS feed

  • 常规讨论

  •   我使用 QUickPart 承载用户控件 到Moss页面上,出现了一些问题,您可以帮我看看到底哪里出了问题吗?先谢谢您了。

    • 我的用户控件中包含导出按钮,有三种格式的导出,文本文档, Excel文档,PDF文档。 还包含了Search按钮。
    • 在第一次进入页面,或者是刷新页面后,页面上的所有按钮是可以正常使用的。
    • 但是我在点击了 三个导出按钮中的其中一个后,页面的所有按钮都变的不能使用了。(即点击后没有反应)
    • 然后我再次刷新页面后,页面的按钮就又变的能够使用了。

    我感觉应该是我的导出代码有问题,不能使用Response ,但是要怎么实现我的导出功能呢。 所以我贴出来一个导出代码,大家帮我看看要怎样解决问题。

        protected void ButtonExportToExcel_Click(object sender, EventArgs e)
        {
          string reportToExeclName = this.ExportFileName();
          DataSet ds = new DataSet();
          ds = (DataSet)Session["ReportData"];
          if (ds == null)
          {
            LabelMessages.Text = "The data has expired, please refresh!";
            return;
          }
          Response.Clear();
          Response.Buffer = false;
          Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
          Response.AppendHeader("content-disposition", "attachment;filename=" + reportToExeclName + ".xls");
          HttpContext.Current.Response.ContentType = "application/download";
    
          for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
          {
            string rowString = ds.Tables[0].Rows[i]["REPORT_ROW"].ToString();
            string[] rowStringSplit = System.Text.RegularExpressions.Regex.Split(rowString, "\\\\n");
            for (int j = 0; j < rowStringSplit.Length; j++)
            {
              string rowData = rowStringSplit[j].Replace("\\n", "");
              rowData = rowData.Replace("\\t", "\t\t");
              rowData = rowData.Replace("&nbsp;", "") + "\n";
              Response.Write(rowData);
            }
          }
          Response.Flush();
          Response.End();
        }
    


    这是 Excel 导出代码!

    2010年10月28日 8:10