ASP.NET MVC - 如何从引用的类库中的类创建强类型视图?

时间:2009-05-12 12:58:14

标签: asp.net-mvc view strong-typing

我正在尝试使用Visual Studio 2008创建强类型视图。我可以右键单击控制器操作并选择:添加视图...在下一个对话框窗口中有一个选项'创建强类型视图'。如果我选中此选项,我可以选择当前项目中的类列表。

但是我无法选择我所引用的类库中需要的类。

  • classlibrary是一个强类型程序集,加载到GAC中。
  • 显然,项目中引用了该库。
  • 我添加了< add namespace =“namespace”/>在web.config
  • 我已多次重建,并重新启动VS
  • Classlibrary没有任何问题......

有什么建议吗?

5 个答案:

答案 0 :(得分:7)

对于回答这个问题肯定是迟到了,但对于未来的读者来说:

我注意到我经常需要构建 - >清理解决方案,然后构建 - >重建解决方案,并且这些类会神奇地出现(因为它们应该)

答案 1 :(得分:3)

只需使用任何模型类创建视图,然后手动编辑ASPX并将模型类替换为所需的模型类。可能对话窗口不够智能。

但在我个人看来,使用“外部”课程作为你的模特是非常错误的。

所有模型,视图和控制器都应该直接在您的项目中。然后他们可以在任何地方内部使用它们。

答案 2 :(得分:1)

这是很久以前发布的,但我的解决方案可能有助于某人......

我刚遇到同样的问题,我发现如果我将“Controller”作为类名的一部分 - 我有一个“DoorController” - 我无法通过强类型视图选择添加它。这也引起了我在asp mvc中的其他问题。

这对于“模型”和“视图”也可能适用吗?尝试更改模型的类名以解决此问题。

答案 3 :(得分:0)

我不确定我自己的类是否出现在列表中 - 我通常只是输入它们(从根命名空间开始)。如果您尝试在文本框中键入例如MyRootNamespace.MyClassLibrary.MyNamespace.AnotherNamespace.TheClass并单击确定,会发生什么?

答案 4 :(得分:0)

  

我可以手动输入类名   包括命名空间,但视图   然后禁用内容下拉列表... -   罗普斯塔5月12日13:31

我的自定义创建的数据类遇到了同样的问题。它们显示在“查看数据类”下拉列表中,但“视图内容”下拉列表已禁用。我猜我的类需要实现一些接口。我只是不确定是哪一个。