关于:MVC问题
MVC ,一个写好的框架,太难看懂了。
请问:
1· MVC 的入口函数在哪里? -----不像winForm 入口 Main 函数那么清晰啊。
2· 每个用户请求时,都会创建 ViewData, TempData 等等对象,在哪里创建?
3· 每个用户请求时,触发了哪些事件,事件实体在哪里定义?
谢谢 各位 解答小弟的难题!
------解决方案--------------------1、webform单一的入口函数,因为是多线程的,一个url请求,就是一个入口
2、controller
3、因为没什么控件,所以貌似没什么事件,你问的是生命周期?
------解决方案--------------------1.MVC是基于请求的,当请求到达时首先转到路由表中找到匹配的路由,执行Control与Action,Action指向一个View.
2.ViewData, TempData等数据一般在Control中的Action中创建,转向View时附带着这些数据,以便于数据绑定.
3MVC不同于WebForm,不是基于事件驱动的编程模式,它没有事件触发的概念.它是基于Action提交的编程模型.
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------1,看请求的Controller, 就是看url下面的路由
2,viewdata及tempdata一般在 cs文件里定义,当然也可以再cshtml里@{}定义
3,这个还是用普通的html来看待吧,看form里的action
------解决方案--------------------补充,2,记得viewdata只能当前页面有效,tempdata可以传递到页面(控件)
------解决方案--------------------敢问兄台是从桌面软件转型过来的?
------解决方案--------------------入口点看这里 http://www.cnblogs.com/artech/archive/2007/09/09/887528.html
看ControllerBase的源代码
看HttpApplication
------解决方案--------------------其实很简单。学习MVC要理解几件事情
Model(实体)
View(视图模版)
Control(控制)
每个请求都会执行Control里面的代码,返回结果时候先找到VIEW模版,然后把数据解析出来。
具体请求是的规则。得先了解MVC的路由概念(通过路由,规定请求那个Control底下的哪个方法)
------解决方案--------------------你的问题难就难在,它们根本就是错误的问题。
如同我让你证明 1+1=3,这也是一个难题。
------解决方案--------------------我感觉就是一个action生成一个view 了解的不太多。。
------解决方案--------------------你现在还不到看mvc源码的火候。先做几个mvc的项目,有所感性认识后,再来深入看点源码不迟。
------解决方案--------------------1.MVC是通过路由指向的、指向的是action。
2、 ViewData, TempData 都是键值对的形式传值的、在action里面创建。
ViewData是在当前的action可以使用、TempData是可以跨多个 action使用的、但是只能使用一次。相当于一次性筷子。
3、用户请求是、一般都是form的提交。