asp.net – Dropzone没有绑定到模型
发布时间:2020-12-30 13:25:21  所属栏目: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 – 有没有比升级到Visual Studio 2010 Ultimate更便
 - asp.net-mvc – System.Web.Mvc.WebViewPage.Model.get返回
 - asp.net下创建、查询、修改带名称空间的 XML 文件的例子
 - asp.net-mvc – 如何检查是否为浏览器启用了cookie
 - .Net Core和RabbitMQ限制循环消费的方法
 - .net – 有人有一个例子,说明为什么我会主持一个WCF服务
 - asp.net – 将web应用程序的项目编译成dll
 - asp.net-mvc – 路由是在我的区域中找到控制器,但不是视图
 - 有没有办法将内部控件放在ASP.NET自定义控件中?
 - ASP.NET中操作SQL数据库(连接字符串的配置及获取)
 
推荐文章
            站长推荐
            - MVC .Net Cascade在使用EF Code First Approach时
 - 介绍几种 ADO.net 中的数据库连接方式
 - LoginView中的ASP.NET LoginStatus不会触发Loggi
 - ASP.net WebAPI跨域调用问题的解决方法
 - asp.net – 菜单控件生成的js导致Web窗体中的Sys
 - asp.net – 按钮属性: – commandName和Command
 - IIS ASP.NET WebApi在请求同一台服务器时死锁
 - asp.net-mvc-4 – MVC4捆绑GZIP和头文件
 - asp.net使用AJAX实现无刷新分页
 - azure – 获取#error = unsupported_response_ty
 
热点阅读
            