从链接按钮导航到项目文档



我正在尝试在用户单击网络表单上的asp:link按钮时在新窗口中弹出一个excel文件。我正在将其设置为使用 OnClick 函数,并在后面的代码中执行 respond.redirect 到项目中 excel 文件的位置。您可以在下面的代码中看到这一点。由于某种原因它不起作用,我在浏览器中弹出了一个空白页。这甚至是最佳实践吗?我还可以将链接定向到可以存储 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");
        }

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

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

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

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

最新更新