【问题标题】:ASP.net MVC - how does the view access the model?ASP.net MVC - 视图如何访问模型?
【发布时间】:2009-05-03 12:25:41
【问题描述】:

在我见过的所有 MVC Diagrams 中,View 和 Model 之间总是存在连接,表明 View 可以访问 Model。

我只是想知道:这适用于什么时候?目前,我的控制器操作从 QueryString 中获取一个参数,查询模型以获取 MyObjectViewData,然后返回一个视图,传入 MyObjectViewData。所以基本上我在两者之间有控制器。

这似乎是合乎逻辑的方法,但它不符合 Model 和 View 一起做生意的假设。

在没有控制器的情况下它们交互的典型情况是什么?

【问题讨论】:

    标签: asp.net-mvc model-view-controller


    【解决方案1】:

    在 MVC(在 Web 上)中,视图通过渲染模型实体的特定实例直接与模型交互。它仅通过控制器间接作用于模型。在非 Web 实现中,您可以使用观察者模式向 View 元素注册处理程序,这些处理程序可以调用模型中的方法来更新模型而无需控制器交互。 ASP.NET MVC 和其他基于 Web 的实现比非 Web 实现更松散耦合。在我看来,这是一件好事。它确实倾向于使控制器实现更胖,您需要小心保持控制器和模型之间的关注点分离。

    Web 实现可能应该在没有从模型到视图的间接连接的情况下绘制,因为如果没有控制器,您就无法真正在两者之间进行通信。我想有人可能会争辩说 Web 服务可以提供这种连接,但我认为它只是控制器的另一种形式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多