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

本文关键字:HTML 文件包 XML 响应 | 更新日期: 2023-09-27 18:10:37

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

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

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

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