0

重複の可能性:
クリック時に href 画像リンクをダウンロード

次のように箇条書きリストを作成しました

<asp:BulletedList ID="BulletedList1" runat="server" DisplayMode="HyperLink" 
            DataSourceID="SqlDataSource1" DataTextField="description" 
            DataValueField="link" onclick="BulletedList1_Click">
        </asp:BulletedList>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:chaaapaConnectionString6 %>" 
        SelectCommand="SELECT [description], [link] FROM [quiz]">
    </asp:SqlDataSource>

datavalue フィールドには、画像ファイルへのリンクが含まれています。クリックすると、画像がブラウザに表示されます。代わりにダウンロードボックスが表示されるようにしたいです。

4

1 に答える 1

1

あなたのコード(私が思うに)はハイパーリンクを生成するだけで、ブラウザは(ダウンロードプロンプトを開くのではなく)MIMEタイプを認識して描画するため、ブラウザで画像が開きます。ブラウザーに異なる動作をさせるには、応答ヘッダーを設定する必要があります。

具体的には、 を設定しcontent-dispositionます。

参照: HTTP 応答ヘッダーでの content-disposition の使用

これを行う最も簡単な方法は、Response.BinaryWrite(). 空の ASPX ページをハンドラーにすることも、汎用ハンドラー (ASHX ファイル) を使用することもできます。

このチュートリアルは、あなたがしていること/する必要があることを大まかにカバーしているようです。値/構文が正確であることを確認してくださいcontent-disposition(ブラウザーは、不正な形式のヘッダーで奇妙なことを行う可能性があります)。

于 2012-08-08T06:15:10.357 に答える