首页 文章

ASP.net MVC - 视图如何访问模型?

提问于
浏览
7

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

我只是想知道:这什么时候适用?目前,我让我的Controller Action从QueryString中获取一个参数,查询Model以获取MyObjectViewData,然后返回一个View,传入MyObjectViewData . 所以基本上我介于两者之间 .

这似乎是合乎逻辑的方法,但它不符合Model和View共同开展业务的假设 .

没有控制器,他们互动的典型情况是什么?

1 回答

  • 6

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

    Web实现可能应该在没有从Model到View的间接连接的情况下绘制,因为如果没有Controller,你实际上无法在两者之间进行通信 . 我想有人可能会说Web服务可以提供这种连接,但我认为它只是Controller的另一种形式 .

相关问题