HttpResponse.TransmitFile方法(但对于多个文件)?

问题描述 投票:1回答:1

我正在寻找一种方法或方法,以便在他进入网站时向网站访问者提供多个html文件。

喜欢:

Response.TransmitFile("index1.html");
Response.TransmitFile("index2.html");
Response.TransmitFile("index3.html");
Response.TransmitFile("index4.html");
Response.TransmitFile("index5.html");

我已经浏览了AspNetCore文档,但没有找到任何合理的信息。

任何帮助赞赏。

c# asp.net-core httpresponse static-files
1个回答
0
投票

如果我了解您的目标,您基本上是在用户点击网站时让网站打开多个网址。在问题中,您指定“以HTML格式显示”,我假设您的意思是实际由浏览器呈现,而不是仅仅下载文件。

在这种情况下,我认为您唯一真正的选择是在View页面上使用JavaScript来打开新窗口。以下是使用您在上面指定的相同URL的示例

<script type="text/javascript">
window.onload = function() {
   window.open("index1.html", "_blank");
   window.open("index2.html", "_blank");
   window.open("index3.html", "_blank");
   window.open("index4.html", "_blank");
   window.open("index5.html", "_blank");
}
</script>

使用这种方法的一些注意事项和警告:

  • 这不被认为是来自公共网站的良好行为,您可能应该重新考虑是否有更好的方法来执行您想要在此处执行的操作。过去滥用此功能也是下一个项目的原因。
  • 这是否有效取决于用户是否允许您网站上的弹出窗口。实际上,所有现代浏览器都会默认阻止此操作,因此如果允许用户在启用弹出窗口阻止的情况下手动打开窗口,则应该包含一个优雅的回退。
  • 对于没有注意到已经打开了大量附加选项卡的用户而言,这可能存在可用性挑战,特别是依赖于屏幕阅读器的用户可能会遇到此问题。
  • 作为第二个参数传递的“_blank”告诉浏览器明确地在新的选项卡/窗口中打开(基于用户的浏览器首选项)。这是默认设置,但我希望在将来默认更改时指定它。
© www.soinside.com 2019 - 2024. All rights reserved.