C# 写入响应的XML文件包含页面HTML

C# 写入响应的XML文件包含页面HTML,c#,asp.net,xml,response.write,C#,Asp.net,Xml,Response.write,我试图在单击按钮时将XML文件写入响应,以便用户可以下载该文件。这对于Excel文件很好,但是当我使用“text/xml”内容类型时,该文件包含预期的内容,但在末尾附加了网页HTML 我假设,由于单击按钮返回的是HTML页面,因此它与文件合并。我尝试使用Response.ClearContent()来尝试清除响应,但没有成功 protected void Button1_Click(object sender, EventArgs e) { string fileName = "myFi

我试图在单击按钮时将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文件?

在引发按钮的
单击事件后,HTML将被呈现,因此此时清除内容不会产生任何效果


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

在引发按钮的
单击事件后,HTML将被呈现,因此在该点清除内容不会产生任何效果

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