此代码生成 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。
解决这个问题的方法是什么?