Ok. To jest prawdopodobnie naprawdę głupie pytanie, ale ja i tak o to spytam ...Jak używać rozszerzeń i metod narzędziowych w znacznikach?
Jak mogę używać rozszerzeń i metod narzędziowych w moim znaczniku ASP.Net? Na przykład, (powiedzmy) Mam metodę rozszerzenia DateTime nazwie „ToExampleString()” (zawarte w klasie DateTimeExtensions w moim projekcie Common.Extensions) i chcę go używać w moim znaczników w ListView w ItemTemplate:
<ItemTemplate>
<span><%# ((DateTime)Eval("DateStarted")).ToExampleString() %></span>
</ItemTemplate>
dostaję następujący błąd:
„System.DateTime” nie zawierają definicji „ToExampleString” i żadna metoda rozszerzenie „ToExampleString” przyjęcie pierwszego argumentu typu „System.DateTime” można znaleźć (czy brakuje dyrektywy dotyczącej użycia lub odniesienia do zespołu?)
Strona po prostu nie widzi metody rozszerzenia.
Podobnie, jak mogę uczynić markup moja strona jest świadoma klasie użytkowej:
<span><%# ExampleUtility.ProcessDate(Eval("DateStarted") %></span>
Jakie kroki muszę podjąć, aby tę pracę rzeczy? Zakładam, że przeoczyłem coś głupiego, oczywistego?
Dzięki
Dzięki Yuriy. W moim kodzie mam wyrażenie "using Common.Extensions". Czy to powinno działać? –
Nie, uważam, że należy również umieścić go w znacznikach. –
Instrukcja using w kodzie za pozwala kodowi znajdującemu się za klasą, aby zobaczyć metody rozszerzenia, ale musisz zaimportować przestrzeń nazw również w pliku znaczników. –