0
我处于上传视图中的图像的状况,该视图应该在模型的我的组件实体中填充UploadedFile属性。但是,由于某种原因,该物业从未达到。如果我输入一个名字,没有问题。我在这里错过了一些细节吗?ASP MVC绑定失败实体属性
public partial class Components
{
public string Name { get; set; } // This gets set
public HttpPostedFileBase UploadedFile { get; set; } // This doesn't gets set
public byte[] Image { get { return ConvertToByte(UploadedFile); } set { ; } }
public byte[] ConvertToByte(HttpPostedFileBase uploadedFile)
{
MemoryStream ms = new MemoryStream();
uploadedFile.InputStream.CopyTo(ms);
byte[] imageBytes = ms.ToArray();
return imageBytes;
}
}
查看文件上传:
@model EmbeddedStock.Models.ComponentViewModel
div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.ComponentModel.Image, htmlAttributes: new {@class = "control-label col-md-2"})
<a class="btn" href="javascript:;">
Choose File...
<input type="file" name="UploadedFile" Size="40" style="position: absolute; z-index: 2; top: 0; left: 0; filter: alpha(opacity=0); opacity: 0; background-color: transparent; color: transparent"
onchange='$("#upload-file-info").html($(this).val());'/>
</a>
<span class="label label-info" id="upload-file-info"></span>
</div>
</div>
的ComponentViewModel:
public class ComponentViewModel
{
public Components ComponentModel { get; set; }
}
嗯,即使我尝试将名称更改为“名称”或别的东西,看看它是否是特定的属性,什么都不会发生。 – Khaine775
哎呀,这应该是'name =“ComponentModel.UploadedFile”' –
这样做的窍门!不能相信我没有想到.. – Khaine775