簡體   English   中英

如何在View中使用帶有using指令的C#Global命名空間運算符?

[英]How do I use the C# Global namespace operator with a using directive in my View?

在asp.net mvc中我的觀點有些麻煩。 我的using指令的命名空間與視圖的命名空間沖突,導致我的Razor生成的類中的編譯錯誤。 我對@model指令有同樣的問題,但使用global :: alias修復了它。 出於某種原因,在我的@using上執行相同的操作會導致“無法找到類型或名稱空間'全局'...”錯誤。 這就是我現在所擁有的:

@using SampleSpace.System.Items

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

我想用

@using global::SampleSpace.System.Items

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

但是上述錯誤不斷發生。 在視圖中使用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>

這通常是一種很好的做法,你的視圖需要“使用”命名空間 - 它會使視圖本身混亂 - 我沒有在你所描述的沖突場景中對此進行測試。

或者回避這種方法以避免沖突:

@using items = SampleSpace.System.Items

希望這很有幫助。

原來最簡單的方法是調整文件屬性下的自定義工具命名空間。 您可以將其更改為您想要的任何內容,以避免任何沖突。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM