c# - 如何在我的 View 中将 C# 全局命名空间运算符与 using 指令一起使用?

标签 c# asp.net-mvc asp.net-mvc-3 razor global-namespace

我在 asp.net mvc 中的 View 有一些问题。我的 using 指令的命名空间与 View 的命名空间冲突,导致我的 Razor 生成的类出现编译错误。我对 @model 指令有同样的问题,但使用 global::别名修复了它。出于某种原因,在我的@using 上做同样的事情会导致“找不到类型或命名空间‘global’...”错误。这是我现在拥有的:

@using SampleSpace.System.Items

@model global::SampleSpace.System.Items.Thing

我要用

@using global::SampleSpace.System.Items

@model global::SampleSpace.System.Items.Thing

但上述错误不断发生。在 View 的 using 指令中使用 global 是否有任何技巧,或者是否有不允许的原因?

最佳答案

我不确定这是否能准确回答您的问题,但您能否通过将您感兴趣的命名空间放入 Views 文件夹的 web.config 中来解决该问题?

 <system.web.webPages.razor>
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <!-- snip -->
        <add namespace="SampleSpace.System.Items" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

当您的 View 需要“使用”命名空间时,这通常是一种很好的做法 - 它可以避免 View 本身出现困惑 - 我还没有在您描述的冲突场景中对此进行测试。

或者退回到这种方法来避免冲突:

@using items = SampleSpace.System.Items

希望对您有所帮助。

关于c# - 如何在我的 View 中将 C# 全局命名空间运算符与 using 指令一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13402885/

相关文章:

javascript - Jquery 检查 ModelState 是否有效

mysql - 使用 MySQL 设置 .NET MVC3

c# - 为什么在终结器中调用 Dispose() 会导致 ObjectDisposedException?

c# - 将缺失的月份计数为零 (0) 并填充到数据表中

c# - 充分利用具有 n(3) 层架构的 MVC Owin 标识

javascript - 在企业应用程序框架中包含 js/css 文件的最佳做法是什么?

asp.net-mvc - 用于 ASP.NET MVC 的组合框

c# - 如何正确设置 IIS 7 应用程序池标识?

c# - 设置列表框虚拟化模式(数据)

c# - 如何使用 C# 更改 Y 轴最小/最大刻度值