MVC视图无法在单独项目中看到模型
问题描述:
我在一个项目(我的web项目)中有一个MVC视图。我试图指定它应该从另一个项目中的类(模型)继承,但该类对于我的视图不可见。模型类的项目位于视图所在项目的引用中。为什么我的视图无法看到模型类?下面是完整的视图:MVC视图无法在单独项目中看到模型
<%@ Page Title="Title"
Language="C#"
Inherits="System.Web.Mvc.ViewPage<Models.PropertyDetailsModel>"
MasterPageFile="../MvcMasterPage.Master" %>
Models.PropertyDetailsModel以红色highlighed,当我在它悬停,它说,它无法解析符号PropertyDetailsModel。
想法?
答
其实,所有我需要做的就是改变这种:
Inherits="System.Web.Mvc.ViewPage<Models.PropertyDetailsModel>"
这样:
Inherits="System.Web.Mvc.ViewPage`1[Models.PropertyDetailsModel]"
古怪!
答
在你~/web.config
确保在<assemblies>
部分你必须包含这个模型装配:
<assemblies>
...
<add assembly="TheAssemblyContainingYourModel" />
</assemblies>
然后运行该项目,看看它是否工作。不要注意红色的波浪曲线。视图中的Visual Studio Intellisense不被信任。
PS:在~/web.config
还有一个<namespaces>
部分,在那里你可以把包含您的模型的命名空间,这将干你的观点:
<pages>
<namespaces>
<add namespace="TheNamespaceContainingYourModel" />
</namespaces>
</pages>
,然后你可以直接引用整个应用程序的所有你的意见而不需要模型完全限定它们:
<%@ Page Title="Title"
Language="C#"
Inherits="ViewPage<PropertyDetailsModel>"
MasterPageFile="../MvcMasterPage.Master" %>
您是否尝试构建模型类/项目? – 2012-01-11 21:14:48
是的。我已经建立了很多次。仍然没有骰子。 – birdus 2012-01-11 21:24:41