【问题标题】:MVC Pattern ClarificationMVC 模式说明
【发布时间】:2010-04-06 16:46:47
【问题描述】:

刚开始学习MVC模式,当然是从微软网站学习的。只是想从专家那里收集知识。

我的理解是(当场纠正我)

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

2) 除了 ViewState 和 controlState,MVC 还支持 Sessions、Application State 管理、Cache 管理。

3) 当请求到达 MVC 引擎时,路由模块路由控制器接收到的请求。中的控制器执行相应的操作并返回相应的视图。

【问题讨论】:

  • @dinah 如果我错了,请纠正我?

标签: asp.net asp.net-mvc


【解决方案1】:

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

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

除了ViewState和controlState,MVC支持Sessions、Application State管理、Cache管理。

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

当请求到达 MVC 引擎时,路由模块路由控制器接收到的请求。控制器执行适当的操作并返回适当的视图。

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

【讨论】:

    【解决方案2】:
    1. MVC 摒弃了传统的 ASP.NET 模型的“Web 控件”,其作用类似于 Windows 窗体上的控件。客户端没有“事件”,除了HTML Document Object Model 提供的正常事件,它存在于 ASP.NET 范围之外。 DOM 事件由浏览器制造商实现,可能被javascript 使用。您也可以使用AJAX 访问服务器上的控制器方法,但这只是后台请求,而不是事件。
    2. 这是正确的。
    3. 这也是正确的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-14
      • 2014-08-11
      • 2012-03-14
      • 2012-11-06
      相关资源
      最近更新 更多