ASP.NET - Tagi <%, <%=, <%:, <%#, <%$, <%@ i ich znaczenie
Technologia ASP.NET służąca do tworzenia aplikacji webowych dostarcza szeregu tagów używanych we front-code (pliki .aspx). Każdy z nich ma nieco inne znaczenie i działa tylko w określonych sytuacjach. Zazwyczaj po dłuższej przerwie od pracy z ASP.NET, często mylę tagi używając ich w niewłaściwych kontekstach. W tym wpisie postaram się pokrótce opisać każdy z nich.
W czym problem?
Jak wspomniałem, technologia ASP.NET oddaje programiście kilka tagów służących do dostarczania informacji/wykonywania kodu w widoku strony. Problem w tym, że są one do siebie bardzo podobne, a sytuacje w których można stosować każdy z nich, są odmienne, przez co bardzo często pojawiają się błędy wynikające nie z niepoprawnej logiki aplikacji, a z niewłaściwie użytych tagów. Spróbujmy opisać każdy z nich.
Tag <% %>
Jest to najprostszy tag, który służy do zwykłego wykonywania kodu. Nie używamy go zatem do bindowania treści, a raczej do instrukcji warunkowych itp.fragment widoku
<% } else { %>
inny fragment widoku
<% } %>
Tag <%@ %>
Ten tag służy do podawania dyrektyw takich jak dołączanie przestrzeni nazw, czy kontrolek (UserControl)
Tag <%= %>
Przy pomocy tego znacznika dołączamy do strony (w sensie wyświetlamy) wskazaną wartość:
Tag <%# %>
Tag ten jest bardzo podobny do poprzedniego, tyle że używamy go podczas przypinania danych do jakiejś właściwości kontrolki (porównaj proszę poniższy przykład, z tym wyżej):
Tag <%: %>
Ten znacznik działa niemalże tak samo jak opisany już <%=, tyle że w tym wypadku wartość zostanie dodatkowo przekodowana do HTML-a.
Tag <%$ %>
Tego tagu używamy gdy właściwości jakiejś kontrolki chcemy przypisać wartość pochodzącą z konfiguracji aplikacji (np. connection stringi, czy dane z application settings):SelectCommand="SELECT * FROM [Employees]"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString1 %>">
</asp:SqlDataSource>
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!