我们使用ASP.Net Mvc 4.0。
我的目标是保存包含普通输入字段和文件输入字段的表单。 我应该能够在发布时添加额外的数据。 我应该可以对'Ajax Post的成功执行一些操作。
我们使用ajax帖子来发布表单数据,因为我们可以完成上面的2,但是序列化和将文件发布到服务器失败了。
每当我们使用ajax帖子发帖时,总是Request.Files.Count == 0,当我检查我的控制器的Post Action时。
我用过的ajax帖子是:
function PostData(formId, eventSource, eventName, eventArgs, controlId) { var $dialogForm = $("#" + formId + "Form"); fdata = $dialogForm.serialize(); fdata = fdata + '&eventSource=' + eventSource + "&eventName=" + eventName + '&eventArgs=' + eventArgs; $.ajax({ url: $dialogForm.attr("action"), type: $dialogForm.attr("method"), cache: false, data: fdata, success: function (result) { ProcessEvent(result); } }); }
请为我提供解决方案!
答案 0 :(得分:0)
当你使用ajax的概念时,你无法上传文件。但是有一些调整用于使用ajax上传文件和表单数据。每当在表单中遇到文件类型时,表单数据和文件都可以复制到iframe,并且可以提交iframe,使您感觉文件已使用ajax与其他表单数据一起上传。
jquery中有各种插件可以帮助您轻松完成此任务。 我最喜欢的一个是ajax表格
http://malsup.com/jquery/form/#file-upload
你可以使用这个......