web.config中删除的命名空间未在包含master的页面中删除

时间:2010-09-12 07:17:05

标签: asp.net asp.net-3.5

我已经在子目录的web.config中定义了这个

<namespaces>
   <remove namespace="App"/>
   <add namespace="Tom"/>
</namespaces>

应用程序导入父web.config文件,Tom和App具有相同名称的类。

为了避免因模糊类名导致的错误,我从使用Tom命名空间的子目录中删除了App命名空间。

但是,命名空间App仍然导入到在Tom目录之外具有母版页的内容页面上。这会导致上述错误。

这是我的目录结构

-Root Directory 
--Default.master
--web.config (App is added in web.config)
--Tom Sub-diretory
---web.config (App is removed in web.config)
---Content page that uses Default.master (Here is the problem)
---Page without master (Works OK)

任何解决方案?

2 个答案:

答案 0 :(得分:0)

假设您在根web.config中有以下内容:

<namespaces>
    <add namespace="App" />
    <add namespace="Tom" />
</namespaces>

在你的子web.config中:

<namespaces>
    <remove namespace="App" />
    <add namespace="Tom" />
</namespaces>

在子文件夹的.aspx页面中使用该类是没有问题的,即使它们来自根文件夹中的母版页,但您无法在母版页中使用它。在根母版页中,您需要完全限定类型:<%= App.DuplicateType %><%= Tom.DuplicateType %>

答案 1 :(得分:0)

如何使用命名空间明确地加上用法?这应该永远有效。