01 2011 档案

摘要:验证用于保证用户输入的正确性,及时阻止用户提交错误数据,确保数据符合业务规则。 MVC中可直接在控制器Action方法中进行验证:检查传入参数,如果传入参数不符合业务规则,则通过控制器的ModelState属性的AddModelError方法向模型状态添加错误消息,通过ModelState.IsValid判断模型是否全部通过验证,随后,在视图中通过Html.ValidationSummary、Html.ValidationMessage、Html.ValidationMessageFor辅助方法生成验证消息。 在Controller中验证并不是最好的方法:验证过于分散,容易造成重复代码,不利于 阅读全文
posted @ 2011-01-25 19:57 xfrog 阅读(6060) 评论(3) 推荐(4) 编辑
摘要:MVC可以将用户提交的数据绑定到Action参数,我们将这个过程称之为模型绑定,在模型绑定中有两个关键:一个是值提供器,用于确定数据来源,另一个称为模型绑定器,用于确定如何将值绑定到特性的数据模型。MVC中默认的值提供器 值提供器是一组实现了IValueProvider接口的类,MVC中的值提供其使用了标准的抽象工厂设计模式,其类图如下: MVC提供了四种默认的值提供器:FormValueProvider:表单数据,对应于ASP.NET的Request.Form集合QueryStringValueProvider:查询字符串,对应于ASP.NET的Request.QueryString集合Ht 阅读全文
posted @ 2011-01-16 15:21 xfrog 阅读(5339) 评论(6) 推荐(5) 编辑
摘要:我们知道在MVC框架中,最终通过ActionResult来生成应答内容。上一篇中我们介绍了MVC中默认的结果类型,本章我们将详细介绍ViewResult及PartialViewResult,了解MVC是如何通过视图来生成应答内容的。 MVC默认的视图被称为Web Forms视图引擎,原因在于它的视图文件使用与ASP.NET Web Forms相同的文件类型(.aspx .ascx),并且使用ASP.NET的页面解析器来解释视图文件内容。也在于,我们在编写视图文件时,可以完全像编写aspx页面文件一样,使用智能提示功能及内联代码等。 与传统ASP.NET页面一样,在运行时内建的页面编译器会将我们 阅读全文
posted @ 2011-01-10 20:01 xfrog 阅读(6439) 评论(7) 推荐(4) 编辑
摘要:ActionResult是控制器方法执行后返回的结果类型,控制器方法可以返回一个直接或间接从ActionResult抽象类继承的类型,如果返回的是非ActionResult类型,控制器将会将结果转换为一个ContentResult类型。默认的ControllerActionInvoker调用ActionResult.ExecuteResult方法生成应答结果。 MVC中实现的默认ActionResult如下:1、ContentResult: 返回简单的纯文本内容,可通过ContentType属性指定应答文档类型,通过ContentEncoding属性指定应答文档的字符编码。可通过Control 阅读全文
posted @ 2011-01-06 22:08 xfrog 阅读(9737) 评论(3) 推荐(4) 编辑
摘要:前一篇中我们介绍了过滤器,通过方法和结果过滤器我们可以在MVC执行方法及结果的前后注入自己的功能,通过授权过滤器可以执行一些权限检查,阻止无权用户调用方法,通过异常过滤器处理方法执行过程中产生的异常。那么在执行方法之前,MVC又是如何确定使用何种控制器及其方法的呢? 我们已经知道,MVC使用DefaultControllerFactory控制器工厂来实例化控制器,其大致过程如下:1、默认Route类的GetRouteData方法将按我们设定的Url规则解析当前请求的Url,并将Url规则中的给个参数存入RouteData.Values集合中。我们知道Mvc添加了一个默认的Route项:按以上规 阅读全文
posted @ 2011-01-01 16:38 xfrog 阅读(4243) 评论(5) 推荐(3) 编辑

点击右上角即可分享
微信分享提示