08 2013 档案
摘要:前言 在mvc大行其道的今天,仍然有不少公司的项目还是使用web form来实现的(其实mvc也是基于web form的),如果要在项目中引入mvc,不得不新建一个mvc的项目,然后将当前项目的功能一点点的转移过去,实在是很麻烦的一件事情,而且项目的改造周期也会加长,更别说一边改造一边添加新功能了,那么如果中间出现那么一点点的小差错,那么开发人员和测试人员估计想死的心都有了。 基于以上的情景,我们可以通过自定义HttpHandler来仿造mvc的模式,大概的实现思路如下:给页面提供一个PageBase的类来继承,中间类似于mvc中存放Model的容器通过类似/mvc/controller/..
阅读全文
摘要:回顾 《前端基于easyui的mvc扩展》、《前端基于easyui的mvc扩展(续)》、《基于easyui的webform扩展》这几篇讲解了如何在mvc以及web form内来实现前端使用easyui以及在后端使用基于ValidationAttribute进行验证(mvc本身就有支持),但是这都是以Framework4.0为基础的,那么当我们遇到3.5或者是更早以前的版本的时候,现在这套应用就需要重新重构了。 首先来梳理一下整个流程,大致的流程如下:通过调用需要展示的控件方法解析属性上的验证元数据生成符合easyui验证规则的html提交表单到后端对表单转化后的对象进行验证如果通过验证则可..
阅读全文
摘要:回顾 《前端基于easyui的mvc扩展》、《前端基于easyui的mvc扩展(续)》前两篇介绍了mvc内如何基于easyui进行扩展,在mvc里面有很多简化的语法可以让开发人员快速开发,既然我们已经对mvc进行了扩展,那么当然也不能漏掉了基础的web form了。首先我们来比较一下mvc和web form,如果前端不使用razor,都是用aspx页面的话,使用的语法是一样的,只是mvc内提供了HtmlHelper、Model、ViewData等来简化开发。 也就是说,如果我们使用如下的方式,其实在web form里面也是可行的,但是与mvc不同的是,web form内并没有像HtmlHe..
阅读全文
摘要:回顾及遗留问题 上一篇讲解了基于easyui的mvc扩展的基本实现,已经降低了在mvc内使用easyui的难度,但是仍然还有一些问题:当我们要给生成的控件设置一些其他的属性(如:id)或者想要设置easyui控件的一些其他的可配置项对于form表单提交时,也要让form表单基于easyui的验证机制来进行验证 这里要先提一下,上一篇的TagBuilder并不是微软自带的(位于System.Web.Mvc下),而是自己实现的,理由嘛,既然我们编码了mvc下对于easyui的扩展,那么同样也可以去扩展普通的web form(后面的文章会再进行扩展),TagBuilder的实现方式跟微软提供的很..
阅读全文
摘要:背景 由于MVC的前端是基于jquery.validate和jquery.validate.unobtrusive来实现的,但是当我们要使用其他的ui组件且组件本身就带有完整的验证功能的话,那么要让它们配合起来是有些麻烦的,比如:easyui。介绍 MVC主要提供了一下几个验证特性来支撑前端的验证: CustomValidationAttribute:指定一个用于验证目标成员的验证类型和验证方法。DataTypeAttribute:指定要与数据字段关联的附加类型的名称。RangeAttribute:用于验证数值字段的值是否在指定的范围之内。RegularExpressionAttribu...
阅读全文