【发布时间】:2014-04-10 12:26:11
【问题描述】:
我有一个包含 3 个输入(文本、图像、提交按钮)的表单。
@using (Html.BeginForm("Save", "User", FormMethod.Post, new {Id="Form1", enctype = "multipart/form-data"}))
{
<input id="FileUploadInput" name="Image" type="file"/>
<input id="FirstName" Name="FirstName">
<input type="submit" id="inputSubmit" value="Save" />
}
现在我想用 AJAX 从 javascript 提交这个表单
$("#inputSubmit").click(function (e) {
e.preventDefault();
var form = $("#Form1");
form.validate();
if (form.valid()) {
$.ajax({
url: "/User/Save",
data: form.serialize(),
type: "POST",
success: function (data) {
if (data === "") {
location.reload();
}
else {
$(".content").html(data);
$.validator.unobtrusive.parse($(".content"));
}
}
});
}
return false;
});
在我的控制器文件中。
public ActionResult Save(UserProfileSettings settings)
{
var image = setings.Image
var name = settings.Firstname
}
我的模型
public class UserProfileSettings
{
public string FirstName { get; set; }
public HttpPostedFileBase Image { get; set; }
}
问题在于,在我的控制器方法中,我得到了 settins.FirstName,但 settings.Image 始终为空。我认为,使用这种方法无法序列化图像文件。
【问题讨论】:
-
您可能会从以下示例中受益:powerdotnetcore.com/asp-net-mvc/…
标签: javascript jquery ajax asp.net-mvc image