2008-10-18 9 views
0

J'ai donc un IList d'entités commerciales que je boucle dans une ListView dans une liste non ordonnée. J'ai créé une méthode d'extension sur cette entité dans ma couche de présentation. Dans le code derrière, je peux Response.Write le résultat de cette méthode d'extension, mais quand j'essaie d'y accéder à travers le ListView, je reçois une erreur. La méthode est appelée IsCurrent et retourne un bool ... Voici mon code:Sortie de la méthode d'extension dans Container.DataItem?

<li><%#((CB.CMSFramework.WebPage)Container.DataItem).IsCurrent(Guid.Empty) %></li> 

L'erreur que je reçois est: « CB.CMSFramework.WebPage » ne contient pas de définition de « IsCurrent » et aucune méthode d'extension 'IsCurrent' acceptant un premier argument de type 'CB.CMSFramework.WebPage' peut être trouvé (manque-t-il une directive using ou une référence d'assembly?)

Cependant ... Je ne reçois aucune erreur quand je fais ce type de code du code derrière:

WebPage w = new WebPage(); 
Response.Write(w.IsCurrent(Guid.Empty)); 

Répondre

1

Votre page doit @Importer l'espace de noms cont aining la méthode d'extension

+0

OMG. Je ne peux pas le croire. Vous penseriez que l'espace de noms serait dans la portée (je l'ai au même niveau d'espace de nom que la page elle-même). OY. Je vous remercie. – EvilSyn

+0

@EvilSyn Obtenez R # et cela ne se reproduira plus. :) http://www.jetbrains.com/resharper/ – bzlm

Questions connexes