0

私の ASP.NET Web サイトでは、ファイル アップロード ウィンドウからブラウズ ファイルを追加する必要がありますが、設計上の理由から、テキスト ボックスとボタン コントロールがページで使用されています。

<asp:Button ID="Button1" runat="server" onclick="Button1_Click1" 
            Text="Button" />
     <input type="file"  runat="server" id="myfile"/>

このファイル アップロード コントロールの表示はありません。

以下のように、ヘッダータグで Jquery プラグインを使用しました。

<head>
--
     <script src="../Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript">
            </script><script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
            <script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    </head>

そして、私のサーバー側コードでは、ボタンクリックイベントに以下のコードがあります。

 protected void Button1_Click1(object sender, EventArgs e)
    {
         StringBuilder strScript = new StringBuilder();
       strScript.Append("$(document).ready(function(){");
         strScript.Append("('myfile').click();");
         strScript.Append("});");
       Page.ClientScript.RegisterStartupScript(this.GetType(), "Script",
         strScript.ToString(), true);
    }

上記のコードはファイルアップロードウィンドウを開いていません。いくつかの提案をしてください。

4

2 に答える 2

0

ファイルアップロードダイアログを開くためにサーバーを呼び出すのは良い考えではないと思います。

JavaScript または jQuery を使用して実現できます。

ボタンに onclientClick イベントを追加し、必要な JavaScript を実行できます。

SOですでに同様の種類の質問があります..クリックするとファイルアップロードダイアログが開くことを確認してください

于 2013-04-04T10:29:34.610 に答える
0

jquery セレクターに # が含まれていません。

 strScript.Append("('#myfile').click();");
于 2013-04-04T10:23:27.300 に答える