写入到响应中的XML文件包含页面HTML

问题描述:

我试图在单击按钮时将XML文件写入响应,以便用户可以下载该文件。这对Excel文件可以正常工作,但是当我使用“text/xml”内容类型时,文件包含预期的内容,但是网页HTML会附加到最后。写入到响应中的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文件?

正在呈现HTML 该按钮的Click事件被触发,因此清除该点上的内容不会产生任何影响。

尝试将Response.End();添加到方法的末尾。