在按钮单击上动态添加元标记

时间:2012-05-07 08:28:03

标签: c# asp.net meta-tags

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中工作得很好,如果我手动将它添加到标题中。但是,如果我尝试像这样动态添加它,我没有任何效果。

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

希望你能得到这个想法,否则就会煞费苦心。谢谢!

1 个答案:

答案 0 :(得分:1)

你设置一个页面标题内的标题,然后你附加一个试图加载文件的标题,然后你发送一个html文件。

附件文件的附加标题是覆盖并忽略您之前尝试设置的html标题,但是您使用writeFile发送的html文件也是直接发送到浏览器,以及 response.End 停止所有其他写作,包括您之前添加的 HtmlMeta

即使您删除.End(),也会在您发送的所有数据之后写入标题,但也没有意义。