我在ASCX上有一个链接,我想做的是没有弹出窗口就有文件下载提示。
示例:
<a href="download.aspx">Download</a>
然后在Download.aspx Page_Load中我有:
Dim dataAs String = "test"
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" & "test.dat")
Response.AddHeader("Content-Length", achData.Length.ToString())
Response.ContentType = "text/plain"
Response.Write(data)
Response.End()
这是正确的方法吗?我的另一种方式是将代码放在ASCX的帖子中
<asp:button text="download" id="theButton" />
的.vb
Public Sub theButton_Click()
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" & "test.dat")
Response.AddHeader("Content-Length", achData.Length.ToString())
Response.ContentType = "text/plain"
Response.Write(data)
Response.End()
End Sub
答案 0 :(得分:-1)
内容处置可以是附件或内联,例如:
Response.AddHeader("Content-Disposition", "inline")
如果您将其作为附件,浏览器通常会显示一个弹出窗口,询问用户是要打开文件还是保存文件。浏览器控制返回HTTP响应后发生的情况。默认文件名可能是您建议的文件名,或者浏览器可能决定完全忽略您的文件名,并且可能使用ascx文件名(当我遇到它时,Firefox将其列为错误,IE似乎认为它是“功能”)。 / p>
但是如果你将它设为内联,那么“text / plain”内容类型通常会在没有弹出窗口的情况下被转储到浏览器屏幕中。这就是你想要的吗?