易截截图软件、单文件、免安装、纯绿色、仅160KB

理解ASP.NET MVC执行过程

向基于ASP.NET MVC的Web程序发送请求首先传递一个 UrlRoutingModule 对象,这是一个HTTP模块。这个模块解析请求并执行路由选择。 UrlRoutingModule 对象选择第一个匹配当前请求的路由对象。(路由对象是实现 RouteBase 的类,而且通常是 Route 类的一个实例。) 如果没有任何路由匹配, UrlRoutingModule 对象就啥都不做,让请求回到通常的ASP.NET或IIS请求处理中。
由选择的 Route 对象,  UrlRoutingModule 对象获取由Route 分隔的 IRouteHandler 对象。在MVC程序中这通常会是一个 MvcRouteHandler的实例。  IRouteHandler 实例创建一个 IHttpHandler 对象并将它传到IHttpContext 对象。默认情况下,用于MVC的 IHttpHandler 实例是 MvcHandler 对象。 MvcHandler 对象进而选择最终处理程序的控制器。
注意:
当ASP.NET MVC Web 程序运行在 IIS 7.0下时, MVC项目不要求文件名扩展。然而,在 IIS 6.0下,需要映射.mvc文件名扩展到ASP.NET ISAPI DLL。
模块与处理程序是 ASP.NET MVC 框架的入口点。它们执行以下操作:
在MVC Web程序中选择适合的控制器。
获取指定的控制器实例。
调用控制器的 Execute 方法。
下表列出了MVC Web项目执行的阶段。
阶段
详细
接收程序的第一个请求
在 Global.asax 文件中, Route 对象被添加到 RouteTable 对象中。
执行路由(routing)
UrlRoutingModule 模块使用RouteTable 集合中第一个匹配的 Route 对象来创建 RouteData 对象, 然后它创建一个 RequestContext (IHttpContext) 对象。
创建MVC请求处理程序
MvcRouteHandler 对象创建 MvcHandler 类的一个实例并传递 RequestContext 实例。
创建控制器
MvcHandler 对象使用 RequestContext 实例来识别 IControllerFactory 对象(通常是一个 DefaultControllerFactory 类的实例) 以创建控制器实例。
执行控制器
MvcHandler 实例调用控制器的 Execute 方法。
调用操作(action)
大多数控制器继承自 Controller 基类。因此,与控制分隔的 ControllerActionInvoker 对象决定调用哪个控制器的action方法并调用之。
执行结果
通常的action方法会接收用户输入,准备适当的响应数据,然后返回结果类型来执行结果。可以执行的内置类型包括: ViewResult (呈现视图,最常用的结果类型), RedirectToRouteResult, RedirectResult, ContentResult, JsonResult, 和EmptyResult.
原文地址:http://www.asp.net/learn/mvc/tutorial-22


相关文档:

asp.net mvc ajax 外部js 异步递交 form的实现

页面文件类似:
<% using (Ajax.BeginForm("AjaxUpdate", 123, new AjaxOptions {
Confirm = "confirm str", LoadingElementId = "idLoading", UpdateTargetId
= "textEntered", OnSuccess = "validateForm" },new{id="idMyForm"}))
  &nbs ......

ASP.NET表单验证之基本验证控件一

Asp.net为我们提供了六个验证验证控件及其要起作用必须设置的属性:
(1)     RequiredFieldValidator:该控件要求其绑定的输入控件一定要有输入值,不能为空;
属性:ControlToValidate:验证控件要验证的输入控件ID(绑定的输入空间ID)
      Text:输入控件输入的内容不 ......

ASP.NET页面之间传递值的几种方法

一.使用QueryString
Request.QueryString
   在ASP时代,这个是较常用的方法,到了ASP.NET,好像用的人不多了,但是不管怎么说,这是一个没有过时,且很值得推荐的方法,因为不管是ASP还是ASP.NET,最基本的都还是基于HTTp协议的。 缺点是非常明显的,让在多个页面传递时,可能就Request不到了
  使用Qu ......

在ASP.Net 2.0中实现多语言界面的方法

 1. 跟以前一样做界面,只是注意,把所有需要有多语言界面的文字都用label来做
  2. 做完以后,在Solution Explorer里选中这个文件,选Tools->Generate Local Resource
  3. 你会发现生成了一个目录,App_LocalResources;这个目录里多了一个resx的文件。比如你的aspx文件是default.aspx,它就会生成一个叫做de ......

理解ASP.NET中的三层中的DAL、BLL和USL

一、三层体系架构  1.表示层(USL):主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
  2.业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号