C# 作为响应,正在将Html添加到下载文件
我正在ASP.NET web应用程序中动态创建一个csv文件,并使用以下代码将其发送回用户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
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;你知道为什么这会发生在一台服务器上而不是另一台服务器上吗?