file-upload – 使用不同的名称字段动态添加FileUpload
发布时间:2020-12-16 09:52:38 所属栏目:asp.Net 来源:网络整理
导读:我需要能够根据用户需求添加多个文件上传但是用户必须能够为上载分配名称以供以后使用. 正如您所看到的,我只是动态添加更多文件上传,但为这些上传指定名称似乎是我的问题. 有什么办法可以实现吗? 我的视图中的代码: @using Microsoft.Web.Helpers@model Mu
我需要能够根据用户需求添加多个文件上传但是用户必须能够为上载分配名称以供以后使用.
正如您所看到的,我只是动态添加更多文件上传,但为这些上传指定名称似乎是我的问题. 有什么办法可以实现吗? 我的视图中的代码: @using Microsoft.Web.Helpers @model MusicNews.Web.Models.ViewModel.ArticleCreateModel @{ ViewBag.Title = "Create"; } @section content { @using (Html.BeginForm("Create","Article",FormMethod.Post,new { enctype = "multipart/form-data" })) { ... @FileUpload.GetHtml("Files",2,true,false,"Add more") <p> <input type="submit" value="Create" /> </p> } } 我的控制器中的代码如下所示: [Authorize] public ActionResult Create() { ViewBag.ArticleTypes = new SelectList(ArticleTypes,"Type"); return View(); } [HttpPost] [Authorize] public ActionResult Create(ArticleCreateModel article) { var files = Request.Files; if (ModelState.IsValid) { ... } return View(article); } 解决方法
您可能必须自己创建其他上传.这可以使用jQuery完成,例如:
这是HTML: <div id="uploads"> <div id="uploadtemplate"> <input type="file" name="upload" /> <input type="text" name="FileName" /> <div> <a href="#" id="addFile">Add file</a> </div> 在加载时,我们将克隆变量中的“模板”以供以后使用.点击后,我们将克隆模板并将其添加到文档中. $(function() {/ $('#addFile').data('uploadtemplate',$('#uploadtemplate').attr('id','').clone()); $('#addFile').click(function(e) { $(this).data('uploadtemplate').clone().insertBefore( $this) ); e.preventDefault(); }); }); 你的模型将是: public class Foo { public string[] FileName { get; set; } // will contain all file names given by the user } 然后解析Request.Files并做你知道的魔术:-) Foo.FileName字段将包含用户为每个上传文件给出的文件名.你可以使用它作为Request.Files中的第一个文件将映射到Foo.FileName [0],依此类推. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- 在asp.net c中添加Master页面后,MySql主机出错
- asp.net-web-api – 设置默认的WebAPI格式化程序
- asp.net – 返回按钮刷新页面
- asp.net-mvc-3 – 如何在自定义编辑器模板中获取
- .net – 在没有区域的控制器中创建子文件夹
- asp.net-mvc-3 – MVC3客户端验证无法使用Ajax.B
- asp.net-web-api – WebApi2属性路由404
- asp.net-mvc – 我可以在Razor视图中访问C#枚举吗
- ASP.NET MVC:如何为LDAP身份验证设置web.config
- asp.net – Visual Studio中Web API和Azure API
热点阅读