MVC模式澄清

时间:2010-04-06 16:46:48

标签: asp.net asp.net-mvc

我刚开始学习MVC模式,当然我正在从微软的网站上学习它。我想从专家那里收集测验信息。

我的理解是(当时和那里纠正我)

1)MVC不支持服务器端事件,但支持客户端事件。如果它支持客户端事件,我需要带有jQuery / Javascript(view)的html页面,但我吸收的大部分示例是在视图中显示信息(模型),我没有看到任何客户端事件处理在视图中发生。

2)除了ViewState和controlState,MVC支持会话,应用程序状态管理,缓存管理。

3)当请求进入MVC引擎时,路由模块路由控制器拾取的请求。控制器执行适当的操作并返回适当的视图。

2 个答案:

答案 0 :(得分:1)

  

MVC不支持服务器端事件,但支持客户端事件。

客户端事件与服务器技术无关,无论是WebForms,MVC还是其他什么。它只是JavaScript,可以在处理元素事件时执行某些操作。例如,它可能会向某个Url发出请求。但在服务器端,没有人会关心谁发送了请求,浏览器或异步JavaScript。它只会处理请求。这就是您在服务器上看不到任何事件处理的原因。

  

除了ViewState和controlState,MVC支持会话,应用程序状态管理,缓存管理。

MVC不支持ViewStates或ControlStates。如果您希望请求之间保持持久性,则需要从头开始实现它们。

  

当请求进入MVC引擎时,路由模块路由控制器拾取的请求。控制器执行相应的操作并返回相应的视图。

正确。除了服务器上物理上可用的文件请求被IIS截获并直接提供。对mysite.com/images/picture.png的请求不会进入管道。

答案 1 :(得分:1)

  1. MVC取消了传统的“Web控件”ASP.NET模型,它就像Windows窗体上的控件一样。除了HTML Document Object Mode l提供的正常事件之外,客户端没有“事件”,这些事件存在于ASP.NET的范围之外。 DOM事件由浏览器制造商实现,可由javascript使用。您还可以使用AJAX访问服务器上的控制器方法,但这只是后台请求而非事件。
  2. 这是正确的。
  3. 这也是正确的。