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