C# 下载字符串作为文件
当用户单击一个按钮时,我想构建一个字符串,然后让用户将该字符串下载为一个文件,这是一个CSV文件C# 下载字符串作为文件,c#,asp.net,file-io,C#,Asp.net,File Io,当用户单击一个按钮时,我想构建一个字符串,然后让用户将该字符串下载为一个文件,这是一个CSV文件 var response = HttpContext.Current.Response; response.ClearContent(); response.Clear(); byte[] bytes = Encoding.ASCII.GetBytes(csvtext); using (var stream = new MemoryStream(bytes))
var response = HttpContext.Current.Response;
response.ClearContent();
response.Clear();
byte[] bytes = Encoding.ASCII.GetBytes(csvtext);
using (var stream = new MemoryStream(bytes))
{
response.AddHeader("Content-Disposition", "attachment; filename=somefile.csv");
response.AddHeader("Content-Length", stream.Length.ToString());
response.ContentType = "text/plain";
stream.WriteTo(response.OutputStream);
}
这就是我到目前为止所知道的,我感觉我已经非常接近了,但是我得到了以下错误信息:
Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerParserErrorException:无法分析从服务器收到的消息。此错误的常见原因是通过调用response.Write、response filters、HttpModule或server trace修改响应时。
详细信息:在“[CSV文件的第一位]”附近分析时出错
我不知所措,最后期限很快就要到了。非常感谢您提供的任何帮助。我猜您在AJAX更新面板中。如果您正在执行此类操作,则必须通过回发来完成 我猜您在AJAX更新面板中。如果您正在执行此类操作,则必须通过回发来完成 使用Ajax进行部分/异步回发无法做到这一点。您需要将触发此下载的任何按钮设置为UpdatePanel的PostBackTrigger。此处的详细信息:使用Ajax进行部分/异步回发无法做到这一点。您需要将触发此下载的任何按钮设置为UpdatePanel的PostBackTrigger。详情如下: