1

对不起我的英语,它不是我的母语。

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

使用 ASP.NET MVC 4。碰巧模型和控制器在另一个 dll 中,当 web 应用程序启动时加载了什么。控制器在 Unity 容器中注册,一切正常。

但是在 View 中不能直接使用模型类。Razor 视图引擎找不到它们的命名空间。

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

预先感谢您的建议。

4

1 回答 1

2

有两种方法可以将命名空间添加到 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" />

资源

于 2012-10-30T05:20:42.070 回答