Jaka jest oficjalna nazwa takich „specjalnych” znaczników ASP.NET:
<%# %>
<%= %>
<%@ %>
<%$ %>
Nie potrafię wymyślić ich pojęciowej lub znanej nazwy, więc mam problem ze znalezieniem dodatkowych informacji. Jako bonus, czy ktoś może mi szybko podsumować wszystkie możliwe „specjalne tagi” i co każdy z nich robi (lub wskazać mi zasób)?
Odpowiedzi:
Oficjalna nazwa to „ ograniczniki skryptów po stronie serwera ” lub „ wbudowane wyrażenia ASP.NET ”. Okno dialogowe ustawień podświetlania składni Visual Studio 2008 nazywa te „skrypt po stronie serwera HTML”. Chłopaki Microsoft nazywają je na swoich blogach „samorodkami kodu”.
<%@ %>
jest dyrektywą dla stron internetowych ASP.NET . Służy do stron i kontrolek do konfiguracji ustawień kompilatora strony / kontrolki (<%@ Control Inherits="MyParentControl" %>
).<%@ %>
jest również dyrektywą w sprawie stosowania . Służy do określania ustawień aplikacji dla global.asax. Odróżnij się od dyrektyw stron, ponieważ używa tylko innego zestawu tagów.<% %>
to blok renderowania kodu (dla kodu wbudowanego) . Jedna z 4 form wbudowanych bloków kodu . Służy do włączenia kodu po stronie serwera doRender()
metody (<% x = x + 1; %>
) generowanej klasy. Format: pojedynczy / wielowierszowy lub wielokrotnie połączony (np.if/then/else
Przeplatany html), ale nie można go używać do deklarowania funkcji.<%= %>
to blok renderowania kodu (dla wyrażeń wbudowanych) . Używany jako skrót od<%Response.Write(value)%>
<%: %>
(nieoficjalnie „ blok kodu kodowania HTML ”) jest taki sam jak poprzedni, ale dane wyjściowe są zakodowane w formacie HTML.<%# %>
jest wyrażeniem wiążącym dane . Używany do jednokierunkowy (tylko do odczytu) lub dwukierunkowych (update'u) wiązania przezEval
,Xpath
,Bind
lub ekspresji (np wybranej wartości kontrolnej rozwijanego). Wiąże wyrażenia z właściwościami kontroli powiązanymi z danymi poprzez znacznik atrybutu kontrolki lub jako oddzielny znacznik, który generujeDataBoundLiteralControl
instancję z wartością na jejText
właściwości. Wyrażenia są oceniane przezDataBinding
moduł obsługi zdarzeń dla formantu.<%#: %>
jest wyrażeniem wiążącym dane zakodowane w formacie HTML (nowość w programie ASP.NET 4.5). Łączy w sobie funkcjonalność<%# %>
i<%: %>
.<%$ %>
jest konstruktorem wyrażeń ASP.NET . Służy do wiązania wyrażenia środowiska wykonawczego dla właściwości kontrolnych za pośrednictwem atrybutów znacznika serwera. Używany zAppSettings
,ConnectionStrings
lubResources
(lub własne niestandardowe rozszerzenie , na przykład w celu użycia kodu za właściwości). Te przypisania są dodawane doOnInit()
metody generowanej klasy.<%-- --%>
jest komentarzem po stronie serwera . Służy do wykluczania zawartości z kompilacji (i tak będzie generować błędy, jeśli w skrypcie znajduje się odwołanie do skomentowanego komentarza). W przeciwieństwie do komentarzy HTML zawartość nie zostanie dołączona do wyniku.<!-- #Include ... -->
jest dyrektywą uwzględniającą po stronie serwera . Służy do wstawiania zawartości pliku do strony, pliku kontrolnego lub pliku globalnego. Przydatne, gdy kontrola użytkownika jest nadmierna, a strona wzorcowa nie może być użyta.Istnieje również blok deklaracji kodu , ostateczny formularz bloku kodu osadzonego.
Służy to do włączenia dodatkowych elementów (metod itp.) Do klasy wygenerowanej ze znaczników ASP.NET. Zostały one kiedykolwiek dostarczone „głównie w celu zachowania wstecznej kompatybilności ze starszą technologią ASP” i nie są zalecane do użycia.
źródło
Brak odpowiedzi na twoje imię, ale strona MSDN „Składnia strony ASP.NET” jest całkiem dobra (a raczej jest to strona najwyższego poziomu; strony pod nią zawierają więcej informacji).
EDYCJA: Wcześniej myślałem, że
<%# ... %>
nie ma go na liście, ale oczywiście tak jest w Wyrażeniach wiążących dane. Dohźródło
Zawsze uważałem tę stronę Szybki start za bardzo przydatną, ilekroć mam wątpliwości co do składni po stronie serwera. Wyszczególnia 8 różnych stylów znaczników i zawiera ilustrujące przykłady każdego z nich, a także wyjaśnia zalety i wady.
Nie wspomina jednak o dyrektywie na poziomie strony, którą IIRC opisano szczegółowo w innym rozdziale Szybki start.
Oczywiście dotyczy to ASP.NET 2.0.
źródło
Chłopaki Microsoft nazywają je czasami „samorodkami” lub „samorodkami kodu”.
źródło
Słyszałem też o tych „V stingach”, w tym na podcastie StackOverflow.
źródło