ASP.NET MVC 框架之执行流程(二)
2010-06-20 16:04
337 查看
一,基本概念:
在传统情况下,http: //localhost/Default.aspx表示请求网站根目录下的Default.aspx文件。
在ASP.NET MVC中,Routing处理一切请求,然后从请求的URL中确定controller名称、action名称和各种参数。
Controller执行对应的Action,Action处理表现逻辑或者跳转等。默认是不执行任何xxx.aspx文件请求的。
这也是使用了ASP.NET MVC后与传统ASP.NET应用最大的差别。详细流程如下,
二,框架执行顺序:
如上图所示,
首先,用户通过Web浏览器向服务器发送一条url请求,这里请求的url不再是xxx.aspx格式,而是http:// HostName/ControllerName/ActionName/Parameters的样子。
这个请求被ASP.NET MVC的路由映射系统截获。路由映射系统按照映射规则,解析出控制器名ControllerName,Action名ActionName和各个参数Parameters,然后,找寻Controllers目录下的ControllerNameController.cs这个控制器类,默认情况下,系统总是找寻Controllers目录下的“控制器名+Controller”这么一个类。
然后,找寻这个类下与ActionName同名的方法,找到后,将Parameters作为参数传给这个方法,而后Action方法开始执行,执行后返回的是ActionResult类型(可以是view、json、redirect等)。
ActionResult其中的一个类型是视图,默认情况下,会返回Views目录下与ControllerName同名的目录下的与ActionName同名的aspx文件,并且将ViewData传递到视图。ViewData中一般包含了控制视图显示的控制量以及视图显示需要的数据,ViewData是控制器与View传递数据的方法之一。
我们按以上思路回顾一下上一篇中主页的请求过程。我们传递的url是http: //localhost/Home/Index。默认路由规则下,将ControllerName设为“Home”,ActionName设为“Index”,没有参数。
于是系统找寻Controllers目录下的HomeController类的Index方法,成功找到,于是执行之。
这个方法调用Model取出一些数据,放入ViewData相应键值项里。然后返回视图,返回的是Views下Home下的Index.aspx。
这个视图取出ViewData中的数据按照一定格式呈现,于是完成了一次典型的ASP.NET MVC调用。
下一篇中我们将详细介绍URL routing。
在传统情况下,http: //localhost/Default.aspx表示请求网站根目录下的Default.aspx文件。
在ASP.NET MVC中,Routing处理一切请求,然后从请求的URL中确定controller名称、action名称和各种参数。
Controller执行对应的Action,Action处理表现逻辑或者跳转等。默认是不执行任何xxx.aspx文件请求的。
这也是使用了ASP.NET MVC后与传统ASP.NET应用最大的差别。详细流程如下,
二,框架执行顺序:
如上图所示,
首先,用户通过Web浏览器向服务器发送一条url请求,这里请求的url不再是xxx.aspx格式,而是http:// HostName/ControllerName/ActionName/Parameters的样子。
这个请求被ASP.NET MVC的路由映射系统截获。路由映射系统按照映射规则,解析出控制器名ControllerName,Action名ActionName和各个参数Parameters,然后,找寻Controllers目录下的ControllerNameController.cs这个控制器类,默认情况下,系统总是找寻Controllers目录下的“控制器名+Controller”这么一个类。
然后,找寻这个类下与ActionName同名的方法,找到后,将Parameters作为参数传给这个方法,而后Action方法开始执行,执行后返回的是ActionResult类型(可以是view、json、redirect等)。
ActionResult其中的一个类型是视图,默认情况下,会返回Views目录下与ControllerName同名的目录下的与ActionName同名的aspx文件,并且将ViewData传递到视图。ViewData中一般包含了控制视图显示的控制量以及视图显示需要的数据,ViewData是控制器与View传递数据的方法之一。
我们按以上思路回顾一下上一篇中主页的请求过程。我们传递的url是http: //localhost/Home/Index。默认路由规则下,将ControllerName设为“Home”,ActionName设为“Index”,没有参数。
于是系统找寻Controllers目录下的HomeController类的Index方法,成功找到,于是执行之。
这个方法调用Model取出一些数据,放入ViewData相应键值项里。然后返回视图,返回的是Views下Home下的Index.aspx。
这个视图取出ViewData中的数据按照一定格式呈现,于是完成了一次典型的ASP.NET MVC调用。
下一篇中我们将详细介绍URL routing。
相关文章推荐
- ASP.NET Mvc 2.0 - 2. 异步Controller执行流程时序图
- ASP.NET MVC 快速开发框架之 SqlSugar+SyntacticSugar+JQWidgetsSugar+jqwidgets
- asp.net mvc 3介绍与IOC框架
- ASP.NET执行流程
- ASP.NET MVC 4框架揭秘(微软6任MVP,高级软件顾问蒋金楠新作)
- 依赖注入框架Autofac的简单使用,以及在 ASP.NET MVC 中的使用
- 学习ASP.NET MVC5框架揭秘笔记-ASP.NET MVC路由(四)
- ASP.NET MVC框架开发系列课程(8):AJAX
- 微软下一代网站开发框架:ASP.NET MVC 6 新特性揭秘
- ASP.NET MVC框架开发系列课程一
- ASP.NET MVC下的异步Action的定义和执行原理
- ASP.Net MVC框架配置与分析
- asp.net MVC 学习(第一章) 认识MVC 以及 MVC 编码流程
- 分享一个点赞超过100的漂亮ASP.NET MVC蓝色界面框架
- asp.net mvc OnActionExecuting 方法重写后的执行顺序
- [导入]ASP.NET MVC 框架实践总结
- asp.net mvc中Forms身份验证身份验证流程
- ASP.NET MVC计划任务实现方法(定时执行某个功能)
- (转)中文VS2008 安装ASP.NET MVC框架问题(没有MVC模板)
- Asp.Net页面执行流程分析