2012-10-29 48 views
0

对不起,我的英语不是母语。如何从未引用dll的视图中导入模型类

我正在写入一个大型医疗系统的网络访问。

使用ASP.NET MVC 4.它碰巧模型和控制器在其他DLL,什么加载时,Web应用程序启动。控制器在Unity容器中注册,并且一切正常。

但在视图无法直接使用模型类。 Razor视图引擎找不到它们的名称空间。

如何解决?如何使用ViewEngine命名空间库加载到内存中,但其中没有引用mvc-project?

非常感谢您的建议。

+1

请参阅http://stackoverflow.com/questions/4953330/razor-based-view-doesnt-see-referenced-assemblies您可以在新配置部分配置View的名称空间。另外http://forums.asp.net/t/1779588.aspx/1可能会有所帮助。 –

回答

1

有两种方法可以将名称空间添加到ASP.NET MVC中的Razor视图中。

方法1

第一种方式是使用.cshtml文件@using声明,其中进口一个命名空间只能作用于当前文件。

例子: -

@using Namespace1 
@using Namespace2.SomeClass 

方法2

和第二种方法是在你的项目的查看目录的web.config中定义这些命名空间。

enter image description here

例子: -

<system.web.webPages.razor> 
<pages pageBaseType="System.Web.Mvc.WebViewPage"> 
    <namespaces> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Routing" /> 
    . 
    <!-- can more more here... --> 
    </namespaces> 
</pages> 

,或者你可以像这样添加自定义命名空间太:

<add namespace="Custom.Yasser" /> 
<add namespace="Custom.Mohsin" /> 

Source

+0

感谢您的回答,但这是行不通的,因为我的名字空间在库中,没有在mvc-project中引用。在瞬间视图解释显示错误。 –