输出csv文件然后在标签中显示状态消息导致错误

时间:2014-10-03 22:55:19

标签: asp.net webforms

此代码生成 csv 文件。我已将代码包装在try / catch块中,以便用户获得反馈。

protected void btnExportPriceSheet_Click(object sender, EventArgs e)
    {
        try
        {
            //...
            string csvText = vInfo.GenerateVendorPriceSheetCSVText(SuppID);
            byte[] data = Encoding.UTF8.GetBytes(csvText);
            string exportFileName = string.Format("VendorPriceSheet_{0}.csv", 1);

            lblError.Text = "Price Sheet successfully generated.";
            lblError.ForeColor = System.Drawing.Color.Blue;

            OutputFile(data, exportFileName);                
        }
        catch(Exception ex)
        {
            lblError.Text = 
                     string.Format("Export Price Sheet failed: {0}", ex.Message);
            lblError.ForeColor = System.Drawing.Color.Red;
        }
    }

出现错误时,错误正确显示。但是,当事情进展顺利时,不会显示任何消息。我已尝试切换地点,以便在OutputFile(data, exportFileName);之后显示成功消息,但我收到异常:" 无法评估表达式,因为代码已优化或原生帧位于调用堆栈的顶部。"

我怀疑响应是作为要下载的文件返回的,因此该响应中没有html。

解决这个问题的方法是什么?

0 个答案:

没有答案