当前位置: 代码网 > it编程>编程语言>Asp.net > asp.net中MVC的处理流程详解

asp.net中MVC的处理流程详解

2024年05月15日 Asp.net 我要评论
asp.net mvc 分为主要的controller 、action、以及views下面来分析asp.net mvc的处理流程:controller 负责将获取model数据并将model传递个vi

asp.net mvc 分为主要的controller 、action、以及views

下面来分析asp.net mvc的处理流程:

controller 负责将获取model数据并将model传递个view对象,通知view对象显示。

处理流程:

1.用户发起请求---》urlrouting获取请求—》mvcroutehandler.gethttphandler()—>mvchandler.processrequest()

2.urlrouting获取浏览器发起的请求

将routdata与httpcontext合并成为requestcontext传递到irouthandler接口,irouthandler接口的实现类mvcroutehandler接口到requestcontext参数,返回一个mvchandler对象,并且为这个对象赋值requestcontext

3.mvchandler对象

根据requestcontext参数解析出routedata以及httpcontext,根据routedata来查找出controller以及对象的action及其parameters

4.mvchandler .processrequest()方法的处理流程

mvchandler对象根据工厂方法获取到具体的controller---->controller.execute()--->释放controller对象

这其中最主要的是mvchandler对象根据传入的requestcontext参数来获取到具体的controller,并执行其execute()方法

5.controller.execute()方法处理流程 查找action

获取action--->调用actionresult(abstract方法)的actionresult.executeresult()方法

6.actionresult.executeresult()方法

获取到iview对象,--》根据iview对象的页面路径获取到具体的page,--->调用iview.renderview()方法显示页面

iview对象中存储的是页面的路径地址,最终通过页面引擎(view engine)使用该路径生成具体的页面类,viewpage(system.web.mvc.viewpage)是实现了iview接口的对象。

7,最终页面就可以正确的显示。

viewpage.renderpartialview() 显示.ascx文件或者是viewpage.renderview() 显示.aspx文件。

现在mvc 3中使用的是razor视图引擎,和webformviewengine一样的处理流程

到此这篇关于asp.net mvc处理流程的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com