对不起,我的英语不是母语。如何从未引用dll的视图中导入模型类
我正在写入一个大型医疗系统的网络访问。
使用ASP.NET MVC 4.它碰巧模型和控制器在其他DLL,什么加载时,Web应用程序启动。控制器在Unity容器中注册,并且一切正常。
但在视图无法直接使用模型类。 Razor视图引擎找不到它们的名称空间。
如何解决?如何使用ViewEngine命名空间库加载到内存中,但其中没有引用mvc-project?
非常感谢您的建议。
对不起,我的英语不是母语。如何从未引用dll的视图中导入模型类
我正在写入一个大型医疗系统的网络访问。
使用ASP.NET MVC 4.它碰巧模型和控制器在其他DLL,什么加载时,Web应用程序启动。控制器在Unity容器中注册,并且一切正常。
但在视图无法直接使用模型类。 Razor视图引擎找不到它们的名称空间。
如何解决?如何使用ViewEngine命名空间库加载到内存中,但其中没有引用mvc-project?
非常感谢您的建议。
有两种方法可以将名称空间添加到ASP.NET MVC中的Razor视图中。
方法1
第一种方式是使用.cshtml文件@using声明,其中进口一个命名空间只能作用于当前文件。
例子: -
@using Namespace1
@using Namespace2.SomeClass
方法2
和第二种方法是在你的项目的查看目录的web.config中定义这些命名空间。
例子: -
<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" />
感谢您的回答,但这是行不通的,因为我的名字空间在库中,没有在mvc-project中引用。在瞬间视图解释显示错误。 –
请参阅http://stackoverflow.com/questions/4953330/razor-based-view-doesnt-see-referenced-assemblies您可以在新配置部分配置View的名称空间。另外http://forums.asp.net/t/1779588.aspx/1可能会有所帮助。 –