ASP.net で FileUpload コントロールを使用しています。入力ボタンの書式設定は非常に面倒なので、単純な (書式設定された) ボタンを使用して、FileUpload コントロールをクリックする jQuery 関数をアクティブにすることで回避しようとしています。これは、btn_upload_FILE と呼ばれる、フォーマット済みのボタンです。
<asp:Button ID="btn_upload_FILE" runat="server" class="c_button" Text="Import an EDD" OnClick="Main" />
FileUpload コントロールは次のとおりです。
<asp:FileUpload runat="server" ID="FILE_uploader"></asp:FileUpload>
そして、ここにjQueryがあります:
$('#<%= btn_upload_FILE.ClientID %>').click(function () {
$('#<%= FILE_uploader.ClientID %>').click();
});
非常にシンプルで、うまく機能します。ファイル ブラウザが開き、ファイルを選択できます。
問題は、FileUpload コントロールが機能しているように見えても、選択したファイルが実際には FileUpload コントロールにロードされていないため、コード ビハインドがそれを認識できないことです。動作しているように見えますが、FileUpload は空になります。FileUpload の .change イベントは発生しないので、何も起きていないことがわかります。FileUpload コントロールのボタンを押すだけで、問題なく動作します。
ファイルを参照できるのに、FileUpload がファイルを受信しない理由を誰か教えてもらえますか? いつものように、どんな助けでも大歓迎です。