对不起我的英语,它不是我的母语。
我正在编写一个对大型医疗系统的网络访问。
使用 ASP.NET MVC 4。碰巧模型和控制器在另一个 dll 中,当 web 应用程序启动时加载了什么。控制器在 Unity 容器中注册,一切正常。
但是在 View 中不能直接使用模型类。Razor 视图引擎找不到它们的命名空间。
如何解决?如何使用加载到内存中但没有 mvc-project 引用的 ViewEngine 命名空间库?
预先感谢您的建议。
对不起我的英语,它不是我的母语。
我正在编写一个对大型医疗系统的网络访问。
使用 ASP.NET MVC 4。碰巧模型和控制器在另一个 dll 中,当 web 应用程序启动时加载了什么。控制器在 Unity 容器中注册,一切正常。
但是在 View 中不能直接使用模型类。Razor 视图引擎找不到它们的命名空间。
如何解决?如何使用加载到内存中但没有 mvc-project 引用的 ViewEngine 命名空间库?
预先感谢您的建议。
有两种方法可以将命名空间添加到 ASP.NET MVC 中的 Razor 视图。
方法一
第一种方法是在 .cshtml 文件中使用 @using 语句,它只将命名空间导入当前文件。
例子 :-
@using Namespace1
@using Namespace2.SomeClass
方法二
第二种方法是在项目的 View 目录的 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" />