2010-09-12 4 views
0

J'ai défini cela dans le web.config d'un sous-répertoireNamespace enlevé dans web.config pas supprimé dans une page avec le maître

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

App est importée dans le fichier web.config parent, Tom et App ont classes avec les mêmes noms.

Pour éviter les erreurs résultant de noms de classe ambigus, j'ai supprimé l'espace de noms App du sous-répertoire où l'espace de noms Tom est utilisé.

Toutefois, l'espace de noms App est toujours importé sur les pages de contenu qui ont une page maître en dehors du répertoire Tom. Cela provoque les erreurs susmentionnées.

Voici ma structure dir

-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) 

Toute solution?

Répondre

0

Supposons que vous ayez les suivantes dans le web.config racine:

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

Et dans votre sous web.config:

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

Il n'y aura pas de problème à utiliser la classe .aspx pages dans le sous-dossier, même s'ils dérivent d'une page maître dans le dossier racine, mais vous ne pourrez pas l'utiliser dans la page maître. Dans la page maître racine, vous devez qualifier complètement le type: <%= App.DuplicateType %> ou <%= Tom.DuplicateType %>.

0

Qu'en est-il explicitement de préfixer les usages avec l'espace de noms? Cela devrait toujours fonctionner.