ASP.NET MVC3从部分视图上载文件(并填充模型中的相应字段)
我知道这个问题已经在SO和其他地方讨论过了 ,但是我找不到任何问题的答案。
我正在开发一个ASP.NET MVC3项目,我想创建一个包含FileUpload
的Partial视图 。 这个局部视图在基本的Create
页面上调用,我希望上传的文件属于要创建的模型。 只有当用户提交表单时,才会上传所选文件。
以下是代码的解释:
Model ModelToCreate
public class ModelToCreate { //Some properties public FileUploadModel Files { get; set; } }
模型FileUploadModel
public class FileUploadModel { public IEnumerable Files { get; set; } }
我的PartialView(_UploadFiles.cshtml)
@model Models.ModelToCreate //I tried with Html.BeginForm(Create, MyController instead of null, null, but with no result. @using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" })) { @Html.TextBoxFor(m => m.Files, new { type = "file", name = "Files" }) }
如何调用局部视图(通过Create.cshtml)
@Html.Partial("_UploadFiles")
我也试过@Html.Partial("_UploadFiles", Model)
,但没有结果……
当我单击Create.cshtml
的Submit
按钮时,表单将提交给我的控制器BUT Files
字段始终为null
而其他数据是OK。
我错过了什么吗? 你能指出我的位置(为什么?)
谢谢 !
更新(和解决方案)
这里有一些我忘记了Create.cshtml
的附加信息表单如下所示:
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "target-form" })) { // Some fields, Textboxes and others CheckBoxes //Call to partial View }
当我看一下生成的源代码时,我在