gpt4 book ai didi

c# - ASP.NET javascript 未执行

转载 作者:行者123 更新时间:2023-11-28 01:16:46 24 4
gpt4 key购买 nike

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代码,但是即使使用简单的alert("hello"),JavaScript代码也永远不会执行。只有当我像下面这样注释文件传输代码时,javacript 代码才会被执行。谁能解释为什么会发生这种情况以及我该如何解决这个问题?

protected void Page_Load(object sender, EventArgs e)
{

}

最佳答案

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

在 HTTP 中,不可能既发送文件作为内容处置,又发送一些其他内容。

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

关于c# - ASP.NET javascript 未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23743992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com