我正在尝试在单击按钮时将XML文件写入响应,以便用户可以下载该文件。这适用于Excel文件,但是当我使用“text / xml”内容类型时,该文件包含预期的内容,但附加了网页HTML。
我假设,因为按钮单击返回页面HTML,它将与文件合并。我尝试使用Response.ClearContent()
尝试清除响应,但它没有用。
protected void Button1_Click(object sender, EventArgs e) {
string fileName = "myFile.xml";
string filePath = Server.MapPath("~/temp/myFile.xml");
Response.ContentType = "text/xml";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);
Response.ClearContent(); //I assumed this would clear the HTML before the file is written.
Response.WriteFile(filePath);
Response.Flush();
File.Delete(filePath);
Context.ApplicationInstance.CompleteRequest();
}
如何确保页面未写入XML文件?
答案 0 :(得分:4)
在按钮的Click
事件被引发之后,HTML正在呈现,因此在此时清除内容将不会产生任何影响。
尝试在方法的末尾添加Response.End();
。