0

我们使用 ASP.Net Mvc 4.0。

我的目标是保存一个包含普通输入字段和文件输入字段的表单。我应该能够在发布时添加额外的数据。我应该能够对“Ajax Post 的成功”执行一些操作。

我们使用 ajax post 来发布表单数据,就像我们可以完成上述 2 一样,但是在序列化和将文件发布到服务器时失败。

每当我们使用 ajax post 发布时,总是 Request.Files.Count == 0,当我签入我的控制器的 Post Action 时。

我使用的ajax帖子是:

        函数 PostData(formId, eventSource, eventName, eventArgs, controlId) {
   var $dialogForm = $("#" + formId + "Form");

   fdata = $dialogForm.serialize();
   fdata = fdata + '&eventSource=' + eventSource + "&eventName=" + eventName + '&eventArgs=' + eventArgs;

    $.ajax({
        网址:$dialogForm.attr("action"),
        类型:$dialogForm.attr("method"),
        缓存:假,
        数据:fdata,
        成功:函数(结果){
            过程事件(结果);
        }
    });
}


请为此提供我一个解决方案!

4

1 回答 1

0

好吧,当您使用 ajax 的概念时,您无法上传文件。但是有一些调整用于使用 ajax 上传文件和表单数据。每当在表单中遇到文件类型时,可以将表单数据连同文件一起复制到 iframe 并且可以提交 iframe,这让您感觉文件已与使用 ajax 的其他表单数据一起上传。

jquery 中有各种可用的插件可以为您简化这项任务。我最喜欢的一种是ajax形式

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

你可以用这个..

于 2013-01-01T09:37:50.517 回答