随笔分类 - ASP.NET MVC
摘要:在"MVC缓存01,使用控制器缓存或数据层缓存"中,在数据层中可以设置缓存的有效时间。但这个还不够"智能",常常希望在编辑或创建的时候使缓存失效,加载新的数据。 □ 思路 1、缓存是以键值存放的,在创建缓存的时候,先把IDictionary作为缓存内容存储,int为T的主键。 2、EF上下文保存的时候时候把变化保存到数据库,并更新缓存中的内容。 ● 先找出上下文中状态为added或modifi...
阅读全文
摘要:对一些浏览频次多、数据量大的数据,使用缓存会比较好,而对一些浏览频次低,或内容因用户不同的,不太适合使用缓存。 在控制器层面,MVC为我们提供了OutputCacheAttribute特性;在数据层使用缓存,用System.Runtime.Caching是不错的选择。 控制器层面使用OutputCacheAttribute缓存 □ OutputCacheAttribute默认...
阅读全文
摘要:MVC控制器中,经常使用Newtonsoft.Json把对象序列化成json字符串传递到前端视图。当对象中有DateTime类型的属性时,前后台如何处理才能把DateTime类型转换成想要的格式呢? 有这样的一个类具有DateTime类型属性: using System; namespace MvcApplication1.Models { public cla...
阅读全文
摘要:当想通过Html.EditorFor()给文本框加上maxlength,placeholder等属性的时候,发现Html.EditorFor()没有提供可直接加上这些属性的重载方法,如何做到呢? □ 思路 1、Html.EditorFor()有一个重载方法如下: 也许,可以把需要给文本框加上的属性(maxlength, placeholder,etc),封装成一个匿名对象,作...
阅读全文
摘要:当想对集合筛选的时候,经常想到用Where过滤,而实际上List.FindAll()也是不错的选择。 如果有一个订单,属性有下单时间、区域等等。如何使用List.FindAll(),根据年份、月份、天、区域来过滤呢? □ 思路 List.FindAll(Predicate match)方法Predicate是一个泛型委托,返回bool类型:public delegate bool Predica...
阅读全文
摘要:为用户创建专属上传文件夹后,如果想在其中再创建分类子文件夹,该怎么做?可以在提交文件的视图中再添加一个隐藏域,并设置 name="uploadContext"。 相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小 MVC文件上传02-使用HttpPostedFileBase上传多个文件 MVC文件上传03-使用Request.Files上传多个文件 MVC文件上传0...
阅读全文
摘要:当需要为每个用户建立一个专属上传文件夹的时候,可以在提交文件的视图中添加一个隐藏域,并设置name="objectContext"。 相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小 MVC文件上传02-使用HttpPostedFileBase上传多个文件 MVC文件上传03-使用Request.Files上传多个文件 MVC文件上传04-使用客户端jQuery-...
阅读全文
摘要:本篇通过在配置文件中设置,对上传图片修剪后保存到指定文件夹。 相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小 MVC文件上传02-使用HttpPostedFileBase上传多个文件 MVC文件上传03-使用Request.Files上传多个文件 MVC文件上传04-使用客户端jQuery-File-Upload插件和服务端Backload组件实现多文件异步上传...
阅读全文
摘要:当需要在控制器中处理除了文件的其他表单字段,执行控制器独有的业务逻辑......等等,这时候我们可以自定义控制器。 MVC文件上传相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小 MVC文件上传02-使用HttpPostedFileBase上传多个文件 MVC文件上传03-使用Request.Files上传多个文件 MVC文件上传04-使用客户端jQuery-Fil...
阅读全文
摘要:在零配置情况下,文件的上传文件夹是根目录下的Files文件夹,如何自定义文件的上传文件夹呢? MVC文件上传相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小 MVC文件上传02-使用HttpPostedFileBase上传多个文件 MVC文件上传03-使用Request.Files上传多个文件 MVC文件上传04-使用客户端jQuery-File-Upload插件...
阅读全文
摘要:本篇使用客户端jQuery-File-Upload插件和服务端Badkload组件实现多文件异步上传。MVC文件上传相关兄弟篇:MVC文件上传01-使用jquery异步上传并客户端验证类型和大小 MVC文件上传02-使用HttpPostedFileBase上传多个文件 MVC文件上传03-使用Request.Files上传多个文件 处理文件上传的服务端组件Backload用于处理文件上传的服务端组件。Backload与客户端文件上传插件(比如jQuery-File-Upload)配合使用,初步形成一个处理文件异步上传的解决方案。□ Badkload的一些功能和特点● 零配置:Backload.
阅读全文
摘要:本文体验来自http://dataannotationsextensions.org/的DataAnnotationsExtensions.MVC3,是DataAnnotation的扩展,可以在客户端和服务端进行双重验证,能验证的类型包括: ● 邮件验证 ● 整型验证 ● 日期验证 ● 数字验证(即从零开始的数字,不包括带小数点) ● 是否相同验证 ● 文件类型...
阅读全文
摘要:本篇体验在控制器方法中使用controllerContext.HttpContext.Request.Files上传多个文件。兄弟篇为: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小 MVC文件上传02-使用HttpPostedFileBase上传多个文件 □ 控制器 1: using System; 2: usi...
阅读全文
摘要:本篇体验上传多个文件。兄弟篇为: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小 MVC最基本上传文件方式中的一个遗漏点 □ 前台视图部分 1: 2: 3: 4: □ 控制器部分 1: [HttpMethod.Post] 2: public Action...
阅读全文
摘要:本篇实现有关客户、订单和产品的无刷新三级联动,先看最终效果:没有选择时,后2个Select状态为禁用: 当选择第1个Select,第2个Select可供选择,第3个Select依旧禁用: 当选择第2个Select,第3个Select可供选择: 当选择第3个Select,界面出现"显示...
阅读全文
摘要:在"MVC二级联动使用$.getJSON方法"中使用$.getJSON()获取后端返回的JSon。 本篇使用jQuery的$.ajax()获取后端返回的字符串,实现二级联动。 □ View Models 1: namespace MvcApplication1.Models 2: { 3: public class Province ...
阅读全文
摘要:本篇使用jQuery的$.getJSON()实现二级联动。 □ View Models 1: namespace MvcApplication1.Models 2: { 3: public class Province 4: { 5: public int ID { get; set; } 6:...
阅读全文
摘要:本篇体验生成CheckBoxList的几个思路,扩展MVC的HtmlHelper生成CheckBoxList,并使之水平排开。 通过遍历从控制器方法拿到的Model集合 □ 思路 比如为一个用户设置角色 1、拿到角色集合实例放到ViewBag中。 2、把该用户当前的角色ID集合也放到ViewBag中。 3、前台视图遍历所有角色,如果当前用户的角色ID包含在用户当前的...
阅读全文
摘要:本篇体验MVC上传文件,从表单上传过渡到jquery异步上传。 MVC最基本的上传文件是通过form表单提交方式□ 前台视图部分 □ 控制器部分[HttpMethod.Post]public ActionResult FileUpload(HttpPostedFileBase uploadFile){ if(uploadFile.ContenctLength > 0) { //获得保存路径 string filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads"), ...
阅读全文
摘要:本篇体验在MVC中使用CKEditor,仅仅算思路、基础,暂没有把验证等与CKEditor结合在一起考虑。 □ 1 使用NUGET引入CKEditorPM> Install-Package CKEditor 引入后在Scripts中有了CKEditor的相关文件: □ 2 View Model using System.ComponentModel.DataAnnotations;names...
阅读全文