asp.net – Dropzone没有绑定到模型
发布时间:2020-12-30 19:02:08 所属栏目:asp.Net 来源:互联网
导读:我正在使用dropzone.js以包含其他字段的形式上传文件. @using (Html.BeginForm()){ @Html.AntiForgeryToken() @Html.DropDownListFor(x = x.installation, Model.installationList, new { data_placeholder = Select one it
我正在使用dropzone.js以包含其他字段的形式上传文件. @using (Html.BeginForm()) { @Html.AntiForgeryToken() @Html.DropDownListFor(x => x.installation,Model.installationList,new { data_placeholder = "Select one item please" }) @Html.ValidationMessageFor(model => model.installation,"",new { @class = "text-danger" }) <div id="files" name="files" class="dropzone"></div> <input type="submit" value="@Resources.Global.Save" class="btn btn-default" /> } JS: Dropzone.options.files = { autoProcessQueue: false,uploadMultiple: true,parallelUploads: 100,maxFiles: 100,paramName: "files",// The name that will be used to transfer the file maxFilesize: 8,// MB url: "/ActionPlan/Home/Create" // Same as URL generated from the form }; 我的型号: // installation [Display(Name = "Anomaly_Installation",ResourceType = typeof(Resources.ActionPlan))] public int installation { get; set; } public IEnumerable<SelectListItem> installationList { get; set; } // files uploaded public HttpPostedFileBase[] files { get; set; } 当我提交表单时,没有文件附加到模型,但位置的数据是可以的,为什么?如何解决这个问题? 编辑:我做了一些修改,但同样的问题: HTML(Razor) @using (Html.BeginForm("Create","Home",FormMethod.Post,new { enctype = "multipart/form-data",@class = "dropzone",id = "myForm" })) 我补充说: <div class="dropzone-previews"></div> <div class="fallback"> <!-- this is the fallback if JS isn't working --> <input name="files" type="file" multiple /> </div> JS Dropzone.options.files = { autoProcessQueue: false,parallelUploads: 25,maxFiles: 25 }; 当我检查头文件发送时,我没有看到任何文件(这是整个表单): ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="__RequestVerificationToken" hQJmhZpJf0LqOo3ZZCgCUjMafbXdjNGmzM8QrnL2bjtWUerKZiyJakNJljNsM_DowRv5641qUyc0zjRcBIUh2I1AZ2LBBYko8UzrhPFvnzeWELBVBLwTmtfo6KUX5MChk_aIKvX-aEcpremYXJps1A2 ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="anomalyId" 0 ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="beginDate" 09/04/2015 ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="anomaly" wsqfdgsqdfsqz ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="analysis" wsdwsdfg ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="anomalyTypeSelected" 2 ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="piloteSelected" 52333 ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="anomalyOriginSelected" 3 ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="anomalyOriginData" ------WebKitFormBoundaryAKklxx9XCCYQ22Zl Content-Disposition: form-data; name="installation" 1 ------WebKitFormBoundaryAKklxx9XCCYQ22Zl-- 最终解决方案: @using (Html.BeginForm("Create",id = "myForm" })) { ... <div class="fallback"> <!-- this is the fallback if JS isn't working --> <input name="files" type="file" multiple /> </div> } JS: var myDropzone = new Dropzone('#myForm',{ paramName: 'files',autoProcessQueue: false,maxFiles: 25 }); $("form").on("submit",function (event) { myDropzone.processQueue(); // Tell Dropzone to process all queued files. }); 为了这个我的模型: public HttpPostedFileBase[] files { get; set; } 解决方法我猜你指定的选项永远不会被应用.这将解释为什么在提交表单后,在上传时已处理表单时,为什么没有文件附加到模型中.要正确应用所需的选项,您需要关闭Dropzone的 auto discovery function: Dropzone.autoDiscover = false; 这样你必须要programmatically initialize Dropzone: var myDropzone = new Dropzone('form',{ paramName: 'files',maxFiles: 1 }); Demo autoProcessQueue
(编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 请求在IIS工作进程中存在于RequestAcquireState
- NHibernate中关于Inverse的理解和使用
- asp.net结合Ajax验证用户名是否存在的代码
- asp.net-mvc-3 – Orchard CMS DataAnnotations – 客户端验
- ASP.NET:隐藏gridview中的列
- asp.net-mvc – ASP.NET MVC可以生成具有小写名称和id属性的
- asp.net – Isapi过滤器无法在IIS 7上运行(在IIS 6上运行)
- asp.net-ajax – Ajax脚本管理器和母版页
- asp.net – 是否可以根据用户角色隐藏/显示Kendo网格列?
- asp.net – 地理位置网络服务建议
推荐文章
站长推荐
- asp.net-mvc-3 – 应该使用HTTP引用来验证还是令
- asp.net中让Repeater和GridView支持DataPager分页
- 为熟悉ASP.NET Web表单开发的人建议MVC3的周末学
- asp.net – 多个域的集成Windows身份验证
- LoginView中的ASP.NET LoginStatus不会触发Loggi
- 你如何获得asp.net控件的自动生成的name属性?
- .net – 扩展自定义成员资格提供程序
- asp.net – 避免在web.config中提供服务器连接字
- asp.net-mvc – 使用ASP.NET MVC进行项目组织的最
- asp.net-mvc – MVC 5具有身份验证模式的外部身份
热点阅读