0

ASP.Net Mvc 4.0 を使用します。

私の目的は、通常の入力フィールドとファイル入力フィールドの両方を含むフォームを保存することです。投稿中にデータを追加できるはずです。「Ajax Post の成功」に対していくつかのアクションを実行できるはずです。

上記 2 と同様に ajax post を使用してフォーム データを投稿しましたが、ファイルのシリアル化とサーバーへの投稿に失敗しました。

ajax 投稿を使用して投稿するときは常に、コントローラーの投稿アクションをチェックインすると、常に Request.Files.Count == 0 になります。

私が使用したajax投稿は次のとおりです。

        function PostData(formId, eventSource, eventName, eventArgs, controlId) {
   var $dialogForm = $("#" + formId + "フォーム");

   fdata = $dialogForm.serialize();
   fdata = fdata + '&eventSource=' + eventSource + "&eventName=" + イベント名 + '&eventArgs=' + eventArgs;

    $.ajax({
        URL: $dialogForm.attr("アクション"),
        タイプ: $dialogForm.attr("メソッド"),
        キャッシュ: false,
        データ: fdata,
        成功: 関数 (結果) {
            ProcessEvent(結果);
        }
    });
}


これに対する解決策を教えてください!

4

1 に答える 1

0

ajaxの概念を採用すると、ファイルをアップロードできません。ただし、ajax を使用してファイルとフォーム データをアップロードするために使用される微調整があります。フォームでファイル タイプが検出されるたびに、フォーム データとファイルを iframe にコピーし、iframe を送信することができます。これにより、ファイルが ajax を使用して他のフォーム データと一緒にアップロードされたように感じることができます。

jquery には、この作業を容易にするさまざまなプラグインが用意されています。私のお気に入りの 1 つは ajax フォームです

http://malsup.com/jquery/form/#file-upload

あなたはこれを使うことができます..

于 2013-01-01T09:37:50.517 に答える