我的问题看起来像这样。我有一个带有文档(ID)的网格。现在,当有人点击一行时,我想让他下载或显示该文档。但是为了更简单,假设我会在单击按钮时执行此操作。我尝试了两种方法,但没有一种对我有用。
我尝试在按钮单击时响应.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的情况......
有什么想法可以实现我想要的吗?