gpt4 book ai didi

c# - 在浏览器保存对话框中显示 Response.Binarywrite 或打开新窗口并在保存后关闭

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:54 24 4
gpt4 key购买 nike

我的问题是这样的。我有一个包含文档(Id)的网格。现在,当有人连续点击时,我想允许他下载或显示该文档。但为了更简单,假设我将通过单击按钮来执行此操作。我尝试了两种方法,但没有一种对我有效。

  1. 我尝试在按钮点击时响应.binarywrite:

            Response.Clear();
    Response.ClearHeaders();
    Response.ClearContent();
    Response.ContentType = "application/postscript mime";
    Response.AddHeader("content-disposition", "attachment; filename=test.ps");
    Response.AddHeader("content-length", _excuteGetDocumentResult.Length.ToString());
    Response.ContentEncoding = new System.Text.UTF8Encoding();
    Response.BinaryWrite(_excuteGetDocumentResult);

但是什么也没有发生,当我尝试修改这段代码时,我通常会遇到一些 javascript 错误,提示有关更改响应的内容...

第二种方法是打开新窗口并在页面加载时添加上面的代码。

<asp:Button Text="ShowResult" OnClientClick="radopen('ShowResult.aspx','ShowDocumentDialog'); return false;"
runat="server" />

第二种方法有效,但在保存或取消资源管理器保存文件对话框窗口后,我打开的窗口仍然存在。我试图添加一些 javascript 来关闭它,但它只适用于加载页面上没有 response.binarywrite 的地方......

我有什么想法可以实现我想要的吗?

最佳答案

在方法一中。

Response.BinaryWrite(_excuteGetDocumentResult);之后尝试Response.End();

关于c# - 在浏览器保存对话框中显示 Response.Binarywrite 或打开新窗口并在保存后关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5619604/

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