Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 作为响应,正在将Html添加到下载文件_C#_Asp.net_Asp.net 3.5 - Fatal编程技术网

C# 作为响应,正在将Html添加到下载文件

C# 作为响应,正在将Html添加到下载文件,c#,asp.net,asp.net-3.5,C#,Asp.net,Asp.net 3.5,我正在ASP.NET web应用程序中动态创建一个csv文件,并使用以下代码将其发送回用户 ExportPlacementListPostModel postModel = CreatePostModelFromRequest(); MemoryStream stream = PlacementDatabaseController.ExportPlacementList(postModel); Response.Clear(); Response.ClearContent(); Response

我正在ASP.NET web应用程序中动态创建一个csv文件,并使用以下代码将其发送回用户

ExportPlacementListPostModel postModel = CreatePostModelFromRequest();
MemoryStream stream = PlacementDatabaseController.ExportPlacementList(postModel);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("content-disposition", "attachment; filename=studentplacement.csv");
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(stream.GetBuffer());
每次我下载文件时,网页html都会附加到文档中

有人能看出我做错了什么吗


Colin G

响应之后调用
Response.End()
。BinaryWrite
以防止进一步的输出写入响应。

HttpContext.Current.ApplicationInstance.CompleteRequest
也可以使用

CompleteRequest
方法使ASP.NET绕过HTTP管道执行链中的所有事件和筛选,直接执行
EndRequest
事件

Response.End
方法结束页面执行,并将执行转移到应用程序事件管道中的
Application-EndRequest
事件。
Response.End
后面的代码行未执行


这里有一个很好的解释:

来自pmarflee的Response.End()答案可能是合适的,但我相信您也可以这样做:return;你知道为什么这会发生在一台服务器上而不是另一台服务器上吗?