Response.End不呈现javascript

时间:2011-11-17 09:15:00

标签: asp.net httpresponse response.write

点击按钮后,我的Onclick事件被触发。 在onclick事件中,我在运行时生成somefile并以下列方式将其呈现给浏览器。但在将其呈现给浏览器之前,我正在使特定的Label可见。但是标签永远不会变得可见。知道是什么问题

    lblInfoMessage.Visible=true;
    Response.ContentType = "text/plain";
    Response.AppendHeader("Content-Disposition", "attachment; filename=test.gxml");
    doc.Save(Response.OutputStream);
    Response.End();

2 个答案:

答案 0 :(得分:0)

不应该如下吗?

  lblInfoMessage.Visible=true;

答案 1 :(得分:0)

您可以 刷新页面(从而更改控件的可见性或内容)发送附件。不是都。所以你必须找到其他方式,也许客户端javascript?

修改
在按钮中,您需要在服务器端代码中使用OnClientClick,这将转换为客户端“onclick”。在这里你可以调用一个javascript函数,你可以(例如)显示一些文本。请注意,此函数在生成文件的提交操作之前执行

html / aspx中有这样的东西:

<span id="infoMessage"><!-- empty --></span>
...
<asp:Button OnClientClick="showInfo()" ... />
...
<script type="text/javascript">
  function showInfo() {
    document.getElementById("infoMessage").innerText = 
        "This is the info message.";

  }
</script>

你不能只显示你现在拥有的Label,因为当它不可见时,客户端html中不存在。