0

ユーザーが Web フォームの asp:linkbutton をクリックすると、Excel ファイルが新しいウィンドウのページにポップアップ表示されるようにしようとしています。OnClick 関数を使用するように設定しています。コード ビハインドで、プロジェクト内の Excel ファイルの場所に Respond.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 に答える