我在 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/