文件下载的时候,怎么样弹出窗口只有“保存,取消”,不要 "打开"。<meta name="DownloadOptions" content="noopen" />上面的代码只在IE中才有效,怎么在火狐中也实现相同的效果。

解决方案 »

  1.   

    火狐下载的时候会弹出对话框 两个RadioButton(打开,保存) 和确定 取消 按钮
      

  2.   

    下载文件的控制<%@ Page Language="C#" Title="下载" AutoEventWireup="true"  %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head id="Head1" runat="server">
        <title>下载</title>
        <meta id="metaDownloadOptions" runat="server" name="DownloadOptions" content="noopen" />
    </head>
    <body id="Body1" runat="server">
    <form id="Form2" runat="server">
    <script runat="server">
        /// <summary>
        /// metaタグを利用したダイアログのボタン表示制御
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void rblOpenSave_SelectedIndexChanged(object sender, EventArgs e)
        {
            //-----------------------------------------------------------------------------------------
            // DownloadOption名を持つmetaタグのContent変更
            //-----------------------------------------------------------------------------------------
            HtmlMeta metaDownloadOptions = (HtmlMeta)Header.FindControl("metaDownloadOptions");
            switch (rblOpenSave.SelectedValue)
            {
                case "nosave":
                    metaDownloadOptions.Content = "nosave";
                    break;
                case "noopen":
                    metaDownloadOptions.Content = "noopen";
                    break;
                default:
                    metaDownloadOptions.Content = "";
                    break;
            }
        }
        /// <summary>
        /// ファイルダウンロードボタンクリック
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnDownload_Click(object sender, EventArgs e)
        {
            //-----------------------------------------------------------------------------------------
            // ダウンロード処理
            //-----------------------------------------------------------------------------------------
            // Response情報クリア
            Response.ClearContent();
            // バッファリング
            Response.Buffer = true;
            // HTTPヘッダー情報設定
            Response.AddHeader("Content-Disposition", "attachment;filename=memo.txt");
            Response.ContentType = "text/plain";
            // ファイル書込
            Response.Write("download dialog box customize");
            // フラッシュ
            Response.Flush();
            // レスポンス終了
            Response.End();
        }
    </script>
    <h1>ファイルダウンロードダイログのボタンをカスタマイズ</h1>
    <!-- コンテンツ説明 -->
    IEのファイルダウンロードダイアルログのボタンをカスタマイズする、ASP.NETのサンプルです。<br />
    IE以外のブラウザではカスタマイズは有効になりません。<br />
    <br />
    <br />
    <!-- コンテンツ -->
    <asp:RadioButtonList ID="rblOpenSave" runat="server" AutoPostBack="true" RepeatDirection="Vertical"
        onselectedindexchanged="rblOpenSave_SelectedIndexChanged">
        <asp:ListItem Text="ダウンロードダイアログに「保存」ボタンを非表示" Value="nosave" Selected="True" />
        <asp:ListItem Text="ダウンロードダイアログに「開く」ボタンを非表示" Value="noopen" />
        <asp:ListItem Text="ダウンロードダイアログは通常のボタン構成で表示" Value="nomal" />
    </asp:RadioButtonList>
    <br />
    <asp:Button ID="btnDownload" runat="server" Text="ファイルダウンロード" onclick="btnDownload_Click" /><br />
    <br />
    </form>
    </body>
    </html>