【问题标题】:How can I redirect to the same page multiple times with a different query string?如何使用不同的查询字符串多次重定向到同一页面?
【发布时间】:2019-03-06 15:36:55
【问题描述】:

我有一个页面,其中包含一个带有数据列表的表和一个图标(在每一行上),它将用户重定向到一个带有 queryString 的新 aspx 页面,并执行一些自定义逻辑来下载文件。用户要求我们制作一个“全部下载”按钮,这样他们就不必手动点击每一行中的每个图标。

我觉得我的代码很接近,但是在第一个文件下载后它会挂起并且永远不会进一步。

这是我目前的代码

 Protected Sub ibDownloadAll_Click(sender As Object, e As ImageClickEventArgs) 
      'Get Parameters
      'Run stored procedure to get the query string we're going to use
      'Fill DataSet

       For Each myItem As DataRow In ds.Tables(0).Rows
            Response.Redirect("redirectPage?ID=" &myItem.Item("ID")) 'Gets stuck after here
       Next
 End Sub

我意识到如果我添加了第二个参数(表示是否执行 当前页面应该终止)

 Response.Redirect("redirectPage?ID=" &myItem.Item("ID"), False)

然后它将到达函数的末尾,按预期运行循环,但仅输出/下载最后一个文件。

是否有我遗漏的东西或可用于有效重定向多次的替代方法?不幸的是,对于我正在使用的框架,我无法使用 Response.Write 并以这种方式放置自定义脚本,也无法真正更改我们重定向到的页面。

【问题讨论】:

    标签: vb.net redirect


    【解决方案1】:

    您不能重定向到多个页面(重定向关闭请求),也不能发送多个文件。您唯一的选择是请求将所有文件压缩在一起。您可以使用System.IO.Compression.ZipArchive 执行此操作。您无需将 zip 文件保存在磁盘上,只需发送内存流即可。

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 2017-06-21
      • 1970-01-01
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      相关资源
      最近更新 更多