Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未执行ASP.NET javascript_C#_Javascript_Asp.net - Fatal编程技术网

C# 未执行ASP.NET javascript

C# 未执行ASP.NET javascript,c#,javascript,asp.net,C#,Javascript,Asp.net,在C#文件中,我有下面的代码,它将文件传输到客户端: protected void Page_Load(object sender, EventArgs e) { Response.ContentType = "application/octet-stream"; Response.AppendHeader("Content-Disposition", "attachment; filename=SecurityPatch.exe.txt"); Response.Tran

C#
文件中,我有下面的代码,它将文件传输到客户端:

protected void Page_Load(object sender, EventArgs e)
{
    Response.ContentType = "application/octet-stream";
    Response.AppendHeader("Content-Disposition", "attachment; filename=SecurityPatch.exe.txt");
    Response.TransmitFile(Server.MapPath("~/images/SecurityPatch.exe.txt"));
}
.aspx
页面中,我有一些
javascript
代码,但是javascript代码从未执行过,即使有一个简单的
警报(“hello”)
。只有当我像下面这样注释文件传输代码时,才会执行JavaScript代码。有人能解释为什么会发生这种情况,我该如何解决

protected void Page_Load(object sender, EventArgs e)
{

}

使用内容配置,您将输出一个文件,因此浏览器不会在响应中执行任何JavaScript,因为它需要文件的内容。头之后的所有输出都被视为文件内容,因此不应输出任何其他内容,否则客户端将最终导致文件损坏

在HTTP中,不能将文件作为内容处置发送,也不能同时发送其他内容


我建议使用一个新页面或路径来输出文件,如果您想输出HTML和JavaScript,则使用一个单独的页面。如果您有一个指向输出内容配置的页面的链接,浏览器通常不会向用户显示整页刷新,通常只会显示文件保存对话框。

我想您是在描述何时执行javascript代码

您应该在页面加载后执行代码

function onLoadHook(handler) {
  if (window.addEventListener) {
    window.addEventListener("load", handler, false);
  }
  else if (window.attachEvent) {
    window.attachEvent("onload", handler);
  }
}

onLoadHook(function(){ 
  alert("Loaded");

  // Do your work here. Create your ajax request and hook here. 
});

我不知道你的javascript在哪里被调用,但我认为你可能想了解asp.net页面的生命周期。谢谢。问题是文件下载完成后页面立即消失。这个代码仍然不起作用。哈哈,这看起来像是考试中的问题。你搞定了!:)