【发布时间】:2019-06-21 02:35:23
【问题描述】:
我正在尝试使用 jquery Ajax 将文件与其他表单数据一起发布到 MVC 控制器。
jQuery Ajax 调用
function SaveStundent () {
var formData = new FormData();
var file = document.getElementById("studImg").files[0];
formData.append("studImg", file);
var studentDetails = {
Name: $('#txtName').val().trim()
};
formData.append("studentDetails", studentDetails);
$.ajax({
type: "POST",
url: "@(Url.Action("CreateStudent", "Student"))",
data: formData,
processData: false,
contentType: false,
success: function (response) {
}
});
}
MVC 控制器
[HttpPost]
public ActionResult CreateStudent(Student studentDetails)
{
// ...
}
学生模型
public class Student
{
public string Name { get; set; }
}
虽然我能够在请求中获取文件,但 studentDetails 参数在 MVC 控制器中始终为空。
【问题讨论】:
-
你是如何调用表单提交的?使用表单的提交按钮或表单外的任何其他按钮?
-
你添加 Http.Post 了吗?
-
@TanvirArjel jQuery 方法 'SaveStundent' 将在 'Submit' 按钮 onclick 事件上被调用。
-
@beibeizhu 是的,我做到了。对不起,我错过了添加代码
-
@Gopi 添加完整的
Student模型和用于在表单中上传文件的输入字段。请!
标签: c# jquery ajax asp.net-mvc