2012-07-22 48 views
1

偶然发现了一个我研究过的好奇心,但没有发现确切的答案。当我注意到当提到视图模型的时候,我正在为我的mvc项目添加一个视图,看起来很多类似乎没有直接的参考。例如,我可以在添加视图对话框中看到所有用于Excel的ClosedXml类,但该DLL在我的Bussines Logic项目中引用,而不是在Web项目中肯定。那么1.为什么它出现在添加视图对话框的模型下拉菜单中? 2.该列表不应仅由模型文件夹中的类组成吗?对不起,如果这是一个愚蠢的问题,但没有人能给我一个直接的答案。在MVC3中,“添加视图”对话框的模型类在哪里?

回答

5

作为当前解决方案一部分的所有公共类都出现在此列表中,不仅仅是在当前程序集的Model文件夹中声明的那些类。即使引用程序集中的类也会出现。有些课程会虽然过滤掉:

  • 类型在Controller(以避免看到在列表中的控制器)宣布在SystemMicrosoft命名空间
+0

谢谢文档在这个问题上理论上是零。 – Freeman 2012-07-22 13:34:21

1

  • 类型另外的答案的结束@DarinDimitrov

    例如,我可以在添加视图对话框中看到excel的所有ClosedXml类,但该dll被引用为i ñ我Bussines逻辑的项目

    好像在你的所有引用的Visual Studio迭代,所以我假设你在你的MVC项目

    现在的原因有你的业务组件的参考?嗯,这是因为你实际上可以使用任何public实体作为您的模型

    2.该列表不应仅由模型文件夹中的类组成吗?

    NO

    在MVC模型是一个简单的类来代表你的观点,请不要混淆你目前的域模型。他们使用了相同的术语,但MVC中的模型就是这样,一个简单的类代表您的视图,而没有更多

    考虑到这一点,您可以使用任何公共类作为您的模型。

    我认为这背后的原因,虽然,我很少因为常常需要花费太多的时间来显示列表的内容使用Visual Studio中的选项,所以我更喜欢设置模式手动

  • +0

    谢谢你不知道。 – Freeman 2012-07-22 13:42:09

    相关问题