将多个文件绑定到具有属性的数组
Bind multiple files to array with properties
我有一个基本的 HTML
表格,里面有 <input type="file" multiple>
。我为每个选择的文件创建一个描述。
现在我想将它们绑定到 PostedPhotoViewModel[] PostedPhotos;
:
public abstract class PostedPhotoViewModel
{
public string Description { get; set; }
public HttpPostedFileBase File { get; set; }
}
我不知道如何准备我的输入来做这样的事情。可能吗?还是我必须做一些技巧才能实现我的目标?
@Html.TextBoxFor(m => m.PostedPhotos, new { @name = "PostedPhotos", type = "file", multiple="multiple" })
我试过用这种方式强制,但是没有用:
myForm.submit(function(e) {
myInput.files = $.map(myInput.files, function(element) {
return {File: element, Description: "Test description"}
});
return true;
});
这是基本的 ASP.NET MVC 5
项目。
我会替换这个:
@Html.TextBoxFor(m => m.PostedPhotos, new { @name = "PostedPhotos", type = "file", multiple="multiple" })
只有:
<input type="file" name="files" multiple="multiple" />
然后在控制器中执行如下操作:
[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> files)
我认为与文本框绑定的嵌套视图模型列表 属性 使它比实际复杂得多。
我有一个基本的 HTML
表格,里面有 <input type="file" multiple>
。我为每个选择的文件创建一个描述。
现在我想将它们绑定到 PostedPhotoViewModel[] PostedPhotos;
:
public abstract class PostedPhotoViewModel
{
public string Description { get; set; }
public HttpPostedFileBase File { get; set; }
}
我不知道如何准备我的输入来做这样的事情。可能吗?还是我必须做一些技巧才能实现我的目标?
@Html.TextBoxFor(m => m.PostedPhotos, new { @name = "PostedPhotos", type = "file", multiple="multiple" })
我试过用这种方式强制,但是没有用:
myForm.submit(function(e) {
myInput.files = $.map(myInput.files, function(element) {
return {File: element, Description: "Test description"}
});
return true;
});
这是基本的 ASP.NET MVC 5
项目。
我会替换这个:
@Html.TextBoxFor(m => m.PostedPhotos, new { @name = "PostedPhotos", type = "file", multiple="multiple" })
只有:
<input type="file" name="files" multiple="multiple" />
然后在控制器中执行如下操作:
[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> files)
我认为与文本框绑定的嵌套视图模型列表 属性 使它比实际复杂得多。