0
public void Save(object s, EventArgs e)
{

    HtmlMeta meta = new HtmlMeta() { Name = "DownloadOptions", Content = "noopen" };

    MetaPlaceHolder.Controls.Add(meta);

    string name = "Editor.html";

        //Response.AppendHeader("X-Download-Options", "noopen");
    Response.AppendHeader("content-disposition", "attachment; filename=" + name);
    Response.WriteFile(Server.MapPath("~/SentinelOperationsUI/Editor.html"), true);
    Response.End();
}

<meta name="DownloadOptions" content="noopen" />如果我手动将元标记添加到标题中,则元标记在 ie7 中效果很好。但是,如果我尝试像这样动态添加它,我将没有效果。

我需要做什么才能为这个下载按钮事件点击添加这个元标记?我只希望它添加到此按钮。我是否需要在所有其他下载按钮单击事件中删除它?

希望你明白这个想法,否则会详细说明。谢谢!

4

1 回答 1

1

您设置一个进入页面标题的标题,然后附加一个尝试加载文件的标题,然后发送一个 html 文件。

带有附件文件的附加标头被覆盖并忽略您之前尝试设置的html标头,而且您使用writeFile发送的html文件也直接发送到浏览器,并且response.End停止所有其他写入,包括您之前添加的HtmlMeta 。

即使您删除 .End() 标头也将在您发送的所有数据之后写入并且也没有任何意义。

于 2012-05-07T09:23:04.880 回答