随笔分类 -  MVC

摘要:当用户通过UI输入数据向程序交互时,都会出现一个潜在的错误,数据错误,要检查用户提交的数据是否正确,需要做数据验证,在ASP.NET MVC中,每当Action执行前都会对传入Action的Model进行格式各样的验证,这些验证都是通过MVC中的验证组件ModelValidator来执行,不同的... 阅读全文
posted @ 2014-11-03 08:27 猴健居士 阅读(1913) 评论(1) 推荐(0) 编辑
摘要:Model绑定是指从URL提取数据,生成对应Action方法的参数这个过程。前面介绍的一系列Descriptor负责提供了控制器,行为方法和参数的元数据,ValueProvieder负责获取数据,剩下的Moder绑定则是利用上述两者的结果来最终达到Model的生成。ParameterDescri... 阅读全文
posted @ 2014-09-25 22:36 猴健居士 阅读(1660) 评论(0) 推荐(0) 编辑
摘要:在Model绑定中,Model的数据来源有很多种,在MVC里面则定义了一套ValueProvider的组件来处理Model数据来源多样性的问题,ValueProvider整个结构类似于字典(Dictrionary)的键值结构,通过给定的Key来获取Value。在一整套的组件当中,有接口部分的,有... 阅读全文
posted @ 2014-09-16 08:25 猴健居士 阅读(1429) 评论(0) 推荐(1) 编辑
摘要:Model的绑定是在Action方法绑定参数时发生的,这个绑定的参数过程要用到的元数据来自于控制器,行为方法和参数的描述者ContrllerDescriptor,ActionDescriptor和ParameterDescriptor。下面也是先来一幅类图,在蒋老师的图上再加了一些书中提到的一些... 阅读全文
posted @ 2014-09-07 08:32 猴健居士 阅读(1852) 评论(0) 推荐(0) 编辑
摘要:在最开始先我得说说我看这部分的情况,最开始被各种ModelMetadata和各种ModelMetadataProvider给搞晕了,就几页书花了我好大的精力去看,直到后来看了一幅类图,细细看各个类之间的关系,重新阅读这部分的内容,我才算有所了解,有所收获,这个估计是以后看书的方法,看代码的方法,... 阅读全文
posted @ 2014-09-01 19:31 猴健居士 阅读(1103) 评论(2) 推荐(0) 编辑
摘要:元数据这一词对于计算机科学来说不算陌生,对元数据的解释最简单的解释就是描述数据的数据,那么Model元数据当然是描述Model中各种成员的数据了,在ASP.NET MVC中ModelMetadata这个类专门用于描述Model及其成员的信息,这样就表明Model的描述需要一个ModelMetad... 阅读全文
posted @ 2014-07-30 14:02 猴健居士 阅读(821) 评论(0) 推荐(0) 编辑
摘要:看蒋老师MVC的书第二个大收获可以是算是看了这个迷你ASP.NET MVC框架了,虽然它远不如真正ASP.NET MVC(下文简称“MVC”)那么复杂庞大,但在迷你版中绕来绕去也够呛的。这部分我看了几回,也没完完全全地弄清里面的结构,但要透彻了解整个MVC框架,贯通了整个迷你MVC框架必不可少,没了迷你的作为基础,在看完整框架时也不知道走到哪一步了。贯通整个框架虽然复杂,但我觉得可以从分层次的角度去看整个框架,化整为零,那么难度就降下来了。 首先对于平常的Http请求来了,服务器对作相应的处理,处理完毕之后就会给浏览器一个Http响应。最简单的就是浏览器发出来一个对index.htm页面... 阅读全文
posted @ 2014-04-12 23:52 猴健居士 阅读(2664) 评论(2) 推荐(5) 编辑
摘要:APS.NET MVC中(以下简称“MVC”)的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理。这时候就用到了过滤器。 MVC支持的过滤器类型有四种,分别是:Authorization(授权),Action(行为),Result(结果)和Exception(异常)。如下表,过滤器类型接口描述AuthorizationIAuthorizationFilter此类型(或过滤器)用于限制进入控制器或控制器的某个行为方法ExceptionIExceptionFilter用于指定一个行为,这个被指定的行为处理某个行为方法或某个控制器里面... 阅读全文
posted @ 2013-09-27 08:28 猴健居士 阅读(14963) 评论(11) 推荐(13) 编辑
摘要:之前在探讨ASP.NET MVC的路由时,无意发现原本ASP.NET也有路由机制的。在学习MVC的路由时觉得这部分的资料不太多,不怎么充实(也许是我不懂得去看微软的官方文档)。后来也尝试一下ASP.NET的路由,本文也算是阅读了蒋金楠和重典两位老师后写的读书笔记吧! 路由机制最显著的一个效果就是实现URL和物理文件的分离。这个分离了之后有三个好处:更灵活,更好的可读性,SEO更友好。 具体是这样的:灵活在于文件的路径有了更改(例如放到了一个新的文件夹里面),那就得把所有涉及到那个文件的URL都改一遍,懒一点的就Ctrl+H。如果用了路由映射的话,只需要在一个地方改就可以了,简洁省事;更好... 阅读全文
posted @ 2013-09-21 00:03 猴健居士 阅读(3381) 评论(8) 推荐(1) 编辑
摘要:好久没写博文了,感觉最近好像少了点动力。唉!这回就看看这个MVC的路由。 说这个路由机制其实不是MVC里面特有的,ASP.NET里面本身就有的,只不过在WebForm里面一般比较少用,而在MVC里就是把原本的路由扩展了。原本对不知道单纯在ASP.NET里使用路由的详细情况,但自从看了蒋金楠老师的几篇文章之后知晓了,不过这篇还是讲MVC的路由而已。 路由的定义是位于根目录下的全局文件Global.asax.cs。里面有个RegisterRoutes方法 1 public static void RegisterRoutes(RouteCollection routes) ... 阅读全文
posted @ 2013-07-02 22:43 猴健居士 阅读(2082) 评论(1) 推荐(1) 编辑
摘要:在MVC3中的视图部分,Razor视图引擎是与以往不同的地方之一,使用Razor的视图文件再也不是以往的ASPX文件了,是cshtml文件,在新建视图的时候也会发现增加多了几类文件由上到下分别是 MVC 3 Layout Page:与原来Web Form的Master母版页一样。文件名一般以下划线“_”开头 MVC 3 Partial Page:用于定义用户控件的。文件名一般以下划线“_”开头。 MVC 3 View Page:普通的View页面。 MVC 3 View Page with Layout:使用某个Layout页面的View,与原本WebForm中使用... 阅读全文
posted @ 2013-05-31 22:15 猴健居士 阅读(1480) 评论(6) 推荐(3) 编辑
摘要:在几个月以前写了一篇关于ASP.NET的MVC的博文,当时的视图没有用Razor,有园友说了Razor的好处,时隔多月之后,这回体验一下用Razor,Razor的一个特征就是@,通篇的@,不过这个@的简便性比ASPX好,写上去方便,看上去也整洁。1.Razor基础语法@*** 首先最简单的就是利用@*** 输出某个非字面值,这个就相当于ASPX<%= %>,例如输出这个系统的当前时间@DateTime.Now在页面上的结果是 如果是一个字段的话,也是可以用这种方式,可是对于一个字面值例如一个字符串”Hello world”,或布尔值true或整数1来说,@”Hello world” 阅读全文
posted @ 2013-05-22 08:25 猴健居士 阅读(3603) 评论(11) 推荐(11) 编辑
摘要:做了几个项目,有接触过MVC,不过不是用微软定义的那套MVC的框架,是别人写的一个很简单的MVC框架。因此对于微软的那个MVC框架,无论几点零版本的。鄙人还不会用。近日从 lulu Studio的系列博文 《ASP.NET MVC 入门系列教程》从头学起。 先对项目简单了解一下 在上图中可以明显的看到MVC那三个玩意了:代表M的模型(Model),代表V的视图(View),代表C的控制器(Controller)。就是下图这个经典的品字形图,了解过MVC的肯定见过。 图上原本有的一些文字就不列出来的,但光看这些东西还是对MVC一头雾水的。至少请求的过程还不知道是什么回事。那就回到还没用... 阅读全文
posted @ 2013-02-14 17:00 猴健居士 阅读(7253) 评论(13) 推荐(3) 编辑