摘要: View主要用于呈现数据。由于Controller和相关的Service已经处理完业务逻辑并将结果打包成model实体,View只需要怎么去获得model并将其转为Html1选择需要渲染的视图在上一篇中GuestbookController:public ActionResult Create(){ return View();}默认渲染的是Views/Guestbook/Create.cshtml. 当以无参形式调用View()时, Framework推断要渲染的视图的名称应该和Action的名称一致。然后在MVC管线中,ControllerActionInvoker执行View... 阅读全文
posted @ 2012-07-17 07:06 Johnny Yan 阅读(21097) 评论(0) 推荐(3) 编辑
摘要: 【转自】http://www.cnblogs.com/P_Chou/archive/2010/11/26/details-asp-net-mvc-06.html在上一篇最后,我们进行到了Action调用的“门口”:?1if(!ActionInvoker.InvokeAction(ControllerContext, actionName))在深入研究调用过程的细节前,先有一个总体的认识是很有帮助的。InvokeAction方法大致是按照这样的顺序进行的:查找action:MVC内部查找action的方法似乎有点复杂,涉及到一个ActionDescriptor的东西,但是原理上是通过反射,在以后 阅读全文
posted @ 2012-07-17 07:04 Johnny Yan 阅读(17038) 评论(0) 推荐(2) 编辑
摘要: 先回顾下之前的MVC执行过程:一个HttpRequest是如何被ASP.NET和ASP.NET MVC框架执行的:经过IIS和ASP.NET处理后,Core Routing会首先根据URL匹配物理路径上的文件,如果不能匹配则由核心路由模块执行路由,路由被匹配后,MvcRouteHandler会将这个请求“带入”MVC框架,执行Controller和Action。Controller是如何被创建以及执行的呢?我们看一下MVCRouteHander的源码:View Code namespace System.Web.Mvc{ public class MvcRouteHandler : IR... 阅读全文
posted @ 2012-07-17 00:59 Johnny Yan 阅读(2233) 评论(0) 推荐(0) 编辑
摘要: 路由:“路由”是映射到处理程序的 URL 模式。 处理程序可以是物理文件,例如 Web 窗体应用程序中的 .aspx 文件。 处理程序还可以是处理请求的类,例如 MVC 应用程序中的控制器。 若要定义路由,可以通过指定 URL 模式、处理程序和(可选)路由名称,创建 Route 类的一个实例。通过将 Route 对象添加到 RouteTable 类的静态 Routes 属性,向应用程序中添加路由。 Routes 属性是一个存储应用程序的所有路由的 RouteCollection 对象。Route类Route类是抽象类RouteBase的子类,在Route类中设置了5个基本属性名称说明Const 阅读全文
posted @ 2012-07-13 22:20 Johnny Yan 阅读(1021) 评论(0) 推荐(1) 编辑
摘要: 本节中我们尝试创建一个MVC应用程序:GuestBook1创建数据库在本例中我们的数据库采用:SQL Server Compact。SQL Server Compact 是一种嵌入式数据库引擎,它实现了简便的数据库存储。 它不需要您运行安装过程或安装数据库服务器。 是基于bin发布的,发布时只需要将相应的dll添加到bin目录即可。更多参照:http://msdn.microsoft.com/zh-cn/library/gg606540.aspx在项目App_Data目录选择“Add”->"New Item", 选择Sql Server Compact4.0 Loca 阅读全文
posted @ 2012-07-02 15:37 Johnny Yan 阅读(7370) 评论(0) 推荐(1) 编辑
摘要: 1 创建MVC项目在VS2010中,使用FIle->New Project,在Visual C#下选择Web菜单,创建MVC 4项目点击OK后,会弹出选择模板对话框。Empty模板创建简单的空项目结构,而Internet Application模板提供基础的布局和验证。Intranet Application模板和Internet Application相似,但是使用Windows身份验证。这里我们选择Internet Application。 同时我们也可以选择视图引擎,从MVC3 开始引入了Razor,同样也可以使用Web Forms(MVC 1,2中的默认选项)项目创建完成后结构如 阅读全文
posted @ 2012-07-02 09:31 Johnny Yan 阅读(5165) 评论(0) 推荐(2) 编辑
摘要: ASP.NET是一种建立动态Web应用程序的技术。它是.NET框架的一部分,可以使用任何.NET兼容的语言编写ASP.NET应用程序。相对于Java、PHP等,ASP.NET具有方便性、灵活性、性能优、生产效率高、安全性高、完整性强及面向对象等特性,是目前主流的网络编程技术之一.它可以让开发者快速高效的创建应用程序而不必关注Http,Html,Javascript等底层的详细信息。随着越来越多的企业将网站升级为APS.NET,web应用程序的复杂性不断增加,即使当初MS推出ASP.NET的时候,如何强调codebehind的优势,但是它在架构上回避不了一个问题:如果全部codebehind的话 阅读全文
posted @ 2012-06-29 17:08 Johnny Yan 阅读(11324) 评论(4) 推荐(6) 编辑
摘要: 1. MVC模式 MVC模式是一种软件架构模式。它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。 模型(Model) “数据模型”(.. 阅读全文
posted @ 2012-06-29 17:07 Johnny Yan 阅读(6893) 评论(0) 推荐(1) 编辑
摘要: 当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,HttpModule是一个HTTP请求的“必经之路”,所以可以在这个HTTP请求传递到真正的请求处理中心(HttpHandler)之前附加一些需要的信息在这个HTTP请求信息之上,或者针对截获的这个HTTP请求信息作一些额外的工作,或者在某些情况下干脆终止满足一些条件的HTTP请求,从而可以起到一个Filter过滤器的作用。示例1:usingSystem;usingSystem.Collections.Generic;usingSyst 阅读全文
posted @ 2012-06-29 08:53 Johnny Yan 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 转自: http://www.cnblogs.com/stwyhm/archive/2006/08/09/471765.html 文野概述HttpHandler是一个HTTP请求的真正处理中心,也正是在这个HttpHandler容器中,ASP.NET Framework才真正地对客户端请求的服务器页面做出编译和执行,并将处理过后的信息附加在HTTP请求信息流中再次返回到HttpModule中。IHttpHandler是什么IHttpHandler定义了如果要实现一个HTTP请求的处理所必需实现的一些系统约定。HttpHandler与HttpModule不同,一旦定义了自己的HttpHandle 阅读全文
posted @ 2012-06-26 15:43 Johnny Yan 阅读(407) 评论(0) 推荐(0) 编辑