您好我有一个对话框弹出窗口包含更新表单和上传输入 我创建了更新操作,并添加了一些上传代码 问题是输入文件在
形式中始终为null控制器
[HttpPost]
public ActionResult Setting(user user, HttpPostedFileBase file)
{
查看
@model Magellane.Models.user
@using (Html.BeginForm("Setting", "Account", FormMethod.Post, new { role = "form", id = "profileForm", @class = "form-horizontal", enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true)
<input type="hidden" name="user_id" value="@Session["user_id"]">
<div class="form-group">
<label for="pass1" class="col-sm-2 control-label">Nom decole</label>
<div class="col-sm-10">
<input class="form-control-modal required" id="company" type="text" value="@Model.company" name="company" minlength=5>
<span class="field-validation-error" data-valmsg-for="company" data-valmsg-replace="true"></span>
</div>
</div>
<div class="form-group">
<label for="pass1" class="col-sm-2 control-label">Logo</label>
<input type="file" class="margin-none" name="logo" id="file" onchange="readURL(this);" />
</div>
$.ajax({
url: '/Account/setting',
type: 'POST',
data: $('form').serialize(),
dataType: 'json',
async: false,
success: function (xhr, status, error) {
bootbox.alert(xhr.message);
},
error: function (xhr, ajaxOptions, thrownError) {
bootbox.alert(thrownError);
}
});
有没有解决方案?
答案 0 :(得分:0)
问题是您的文件<input>
标记name=logo
与HttpPostedFileBase file
变量/参数不同。 (即徽标!=文件)
可能的修复。
您可以将HttpPostedFileBase file
更改为HttpPostedFileBase
logo
或强>
您可以更改<input type="file" name="file">
注意请务必检查name
的{{1}},因为使用control/tag
而非name
的Asp.Net MVC地图。