asp.net-mvc – 将json存储在隐藏字段中以反序列化为模型属性列
大家早上好.我一直在思考在我的mvc web应用程序中使用plupload的最佳方法,以便在后端创建时将上传的文件与各自的记录结合起来.
我最后把它归结为以下过程 – 这将适用于新记录和现有记录(想想CMS): >创建新记录,使用plupload上传多个文件. 模型(没有不相关属性的粗糙)将如下所示: public class Record{ public IList<ClientFile> Files {get;set;} } 客户端文件如下所示: public class ClientFile{ public string UniqueId{get;set;} } 我的问题在于每次成功上传后我在客户端上拥有的内容(ClientFile的json字符串)以及我如何正确地将其置于隐藏字段并正确绑定,以便我可以在我的模型中准备好客户端文件列表. 我正在思考如何正确构造隐藏字段,以便绑定器知道如何将它们连接到列表,或者做一些自定义反序列化自己将json字符串的集合转换为对象列表. 在我把银行假日周末丢到mvc之前,有没有人有任何智慧. 解决方法
这就是我现在的实现方式:
public class ProductModel { // This is the field bound to the view (hidden field) public string FilesValue { get { return Files.ToJson<IEnumerable<Plupload>>(); } set { Files = value.FromJson<IEnumerable<Plupload>>(); } } public IEnumerable<Plupload> Files { get; private set; } } (ToJson& FromJson只是我用来快速序列化和反序列化对象的扩展方法.) 在我看来: <input type="hidden" name="FilesValue" id="FilesValue" /> 我有一个内联脚本,可以在加载表单时转换隐藏字段的值: Bundles.AddInlineScript("fileManager.dserialize('" + Html.Raw(Model.FilesValue) + "')"); 并且在表单之前运行的客户端脚本将发布到服务器: function preSubmit(e) { // need to force upload var $form = $(e.currentTarget),hidden = $form.find('#FilesValue')[0]; if (uploader.files.length > 0) { uploader.bind('UploadComplete',function () { serialize(hidden); $form.trigger('submit'); }); uploader.start(); return false; } else { serialize(hidden); return true; } } n.b uploader是对plupload的引用,而serialize()是一个本地方法,它将文件数组转换为json,并将其发回. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何使用ASP.NET C#将Excel数据导入SQL Server,其中表的数据
- 在ASP.NET MVC4 Web应用程序上,w3wp的CPU使用率上升到100%
- asp.net-mvc – Chrome 27中SignalR和跨域请求的问题
- asp.net-mvc – 从ASP.NET Web API返回一些字段
- asp.net-mvc – 使用RedirectToAction时,routeValue丢失引用
- asp.net-mvc – 远程验证OnBlur和空字符串
- asp.net-mvc-3 – 将动态数据(用于数据支架)添加到ASP.NET
- asp.net-mvc – 使用WCF/OData作为访问层而不是直接使用EF/
- asp.net-mvc – MVC获得管理层批准
- asp.net-mvc – 防止Google分析在开发环境ASP.NET MVC中收集
- asp.net-mvc – DDD原理和ASP.NET MVC项目设计
- ASP.NET GridView默认排序顺序
- .net – 何时设置HttpContext.User.Identity?
- 一键式ASP.NET Web部署包括先决条件?
- entity-framework – 将ASP.NET Core EF发布到Az
- Asp.Net Core 发布和部署( MacOS + Linux + Ngi
- asp.net – 为VS2010和TFS中的团队管理web.confi
- asp.net-mvc – ASP.NET MVC3 IIS7.5:Cache-Con
- asp.net渲染折线图
- asp.net 2.0中利用Ajax2.0实现JSON传送大量页面数