好的我有这样的情况,我将我的图像文件发布到服务器但在此之前我验证用户是否使用“必需”属性选择文件。还使用java功能预览图像。现在的问题是在编辑模式的情况下,当信息被加载到页面我显然没有加载图像文件,而是我只是创建预览路径并将其分配给imagepath。因此,当我再次编辑后保存信息时,请问“需要图像”。系统是正确的,因为我没有选择任何图像。我该如何解决这个问题?我想强制执行jquery验证,但在编辑模式下,它应该跳过图像验证步骤。
脚本
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#imgpreview1').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#file").change(function () {
readURL(this);
});
<script/>
查看
@Html.Label("Venue Description Background")
@Html.TextBoxFor(model => model[0].Image.ImageFile, new { type = "file", id="file", required="required"})
<img src="@Model[0].Image.ImagePath" id="imgpreview1" style="height:150px;width:150px"/>
型号
public iSPYImage Image { get; set; }
[DisplayName("Image File")]
public HttpPostedFileBase ImageFile{ get; set;}
答案 0 :(得分:2)
在视图定义中使用某些条件。类似的东西:
if(editMode)
@Html.TextBoxFor(model => model[0].Image.ImageFile, new { type = "file", id="file"})
else
@Html.TextBoxFor(model => model[0].Image.ImageFile, new { type = "file", id="file", required="required"})