0

当用户单击 web 表单上的 asp:linkbutton 时,我试图让一个 excel 文件在新窗口中的页面上弹出。我将其设置为使用 OnClick 函数,并在后面的代码中对项目中 excel 文件的位置进行了 response.redirect。您可以在下面的代码中看到这一点。由于某种原因它不起作用,我在浏览器中弹出一个空白页面。这甚至是最佳实践吗?我还可以将链接指向可以存储 excel 文件的共享网络驱动器,但这似乎有点太复杂了。

<asp:LinkButton ID="btnCBFormat" runat="server" Text="CB Format Example" OnClick="btnCBFormat_Click" Target="_blank" />
<asp:LinkButton ID="btnMBFormat" runat="server" Text="MB Format Example" OnClick="btnMBFormat_Click" Target="_blank" />

        protected void btnCBFormat_Click(object sender, EventArgs e)
        {
            Response.Redirect("//Chargebacks/Formats/CBFormat.xsl");
        }

        protected void btnMBFormat_Click(object sender, EventArgs e)
        {
            Response.Redirect("//Chargebacks/Formats/MBFormat.xls");
        }
4

1 回答 1

0

首先,我认为 Dai 是对的:您应该使用<a>Excel 文件的链接,而不是回发。

其次,我怀疑您遇到的问题与 IIS 未设置为提供 Excel 文件有关。你告诉它加载它不知道如何返回的东西。

这就是它应该的样子。如果您出于其他原因必须回发并且需要将 Excel 流式传输给您的用户,请通过 ASP.NET 研究流式传输文件给用户。这就是通常的做法。

顺便说一句,如果这些 Excel 文件要持续更新,将它们放在文件共享上是有意义的:您将能够在不摆弄 Web 服务器的情况下修改它们。

于 2012-11-27T22:31:05.957 回答