2

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 がファイルを受信しない理由を誰か教えてもらえますか? いつものように、どんな助けでも大歓迎です。

4

2 に答える 2

0

フォームの Enctype は「multipart/form-data」に設定されていますか?

protected void Page_Load(object sender, EventArgs e)
{
    this.Page.Form.Enctype = "multipart/form-data";
}
于 2013-09-11T00:42:24.057 に答える