ASP.NET tagi" specjalne"

Jaka jest oficjalna nazwa" specjalnego " ASP.NET tagi podobne do tego:

<%# %>
<%= %>
<%@ %>
<%$ %>

Wydaje mi się, że nie mogę rozgryźć pojęciowej lub dobrze znanej nazwy dla tych, więc mam problem z szukaniem więcej informacji. Jako bonus, czy ktoś może dać mi szybkie podsumowanie wszystkich możliwych "specjalnych tagów" i co każdy z nich robi (lub wskaże mi zasób)?

Author: skaffman, 2009-03-16

5 answers

Oficjalna nazwa to " ograniczniki skryptów po stronie serwera" lub " ASP.NET inline expressions ". Okno dialogowe ustawień podświetlania składni programu Visual Studio 2008 nazywa te "skrypt po stronie serwera HTML". Ludzie z Microsoftu nazywają ich "samorodkami kodu" na swoich blogach.

  • <%@ %> jest dyrektywą dla ASP.NET strony www . Używany dla stron i kontrolek do konfigurowania ustawień kompilatora strony / Sterowania (<%@ Control Inherits="MyParentControl" %>).
    • <%@ %> jest również dyrektywą aplikacyjną . Służy do określania ustawień globalnych specyficznych dla aplikacji.asax. Różni się od dyrektyw strony, ponieważ używa tylko innego zestawu znaczników.
  • <% %> jest blok renderowania kodu (dla kodu inline) . Jedna z 4 form wbudowanych bloków kodu . Służy do włączenia kodu po stronie serwera do Render() metoda (<% x = x + 1; %>) z Wygenerowanej klasy. Format: pojedynczy / wielowierszowy lub wielowierszowy (np. if/then/else przeplatany html), ale nie może być użyty do zadeklarowania funkcje.
  • <%= %> jest blokiem renderowania kodu (dla wyrażeń wbudowanych). Używany jako skrót <%Response.Write(value)%>
  • <%: %> (nieoficjalnie " Html Encoding Code Block") jest taki sam jak poprzedni, ale wyjście jest zakodowane w HTML.
  • <%# %> jest wyrażeniem wiążącym dane . Używany do wiązania jednokierunkowego (readonly) lub dwukierunkowego (updateable) poprzez Eval, Xpath, Bind, lub wyrażenia (np. wybrana wartość kontrolki rozwijanej). Wiąże wyrażenia z właściwości kontrolki związane z danymi poprzez znaczniki atrybutu kontrolki lub jako oddzielny znacznik, który generuje instancję DataBoundLiteralControl z wartością na jej właściwości Text. Wyrażenia są oceniane przez obsługę zdarzeń DataBinding dla kontrolki.
  • <%#: %> jest HTML kodowane dane bindowanie wyrażenie (nowy w ASP.NET 4, 5). Łączy w sobie funkcjonalność <%# %> i <%: %>.
  • <%$ %>jest ASP.NET Expression Builder . Używany do wiązania wyrażeń runtime dla kontrolki właściwości poprzez atrybuty znacznika serwera. Używany z AppSettings, ConnectionStrings, lub Resources (lub własne niestandardowe rozszerzenie , na przykład, aby użyć właściwości code-behind). Przypisania te są dodawane do metody OnInit() Wygenerowanej klasy.
  • <%-- --%>jest komentarzem po stronie serwera . Używany do wykluczenia zawartości z kompilacji (a więc generuje błędy, jeśli kontrolka komentowana jest w kodzie z tyłu). W przeciwieństwie do komentarzy html zawartość będzie , a nie być zawarte w wyjściu.
  • <!-- #Include ... --> jest dyrektywą Include po stronie serwera . Służy do wstawiania zawartości pliku do strony, Pliku Kontrolnego lub globalnego. Przydatne, gdy kontrola użytkownika jest przesadna, a strona wzorcowa nie może być używana.

Istnieje również Code Declaration Block , ostateczny formularz wbudowanego bloku kodu.

<script runat="server">
bool IsTrue() {
  return false;
}
</script>

Jest to używane do dołączania dodatkowych elementów (metod itp.) do klasy Wygenerowanej z ASP.NET znaczniki. Te miały tylko zostały dostarczone "przede wszystkim w celu zachowania kompatybilności wstecznej ze starszą technologią ASP" i nie są zalecane do stosowania.

 304
Author: Andy Brown,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-18 12:13:29

Brak odpowiedzi na twoje pytanie o imię, ale MSDN "ASP.NET składnia strony" strona jest całkiem dobra (a raczej jest to strona najwyższego poziomu; strony pod nią dają więcej informacji).

EDIT: wcześniej myślałem, że <%# ... %> nie znajduje się na liście, ale oczywiście jest pod wyrażeniami wiążącymi dane. Doh.

 7
Author: Jon Skeet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-13 06:52:57

Zawsze uważałem tę stronę QuickStart za bardzo przydatną, gdy mam wątpliwości co do składni po stronie serwera. Zawiera szczegóły 8 różnych stylów znaczników i dostarcza ilustracyjnych przykładów każdego z nich, oprócz wyjaśnienia za i przeciw.

Nie wspomina jednak o dyrektywie poziomu strony, którą IIRC opisano w innym miejscu w Quickstart.

Oczywiście dotyczy to ASP.NET 2.0.

 6
Author: Cerebrus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-16 06:46:47

Ludzie z Microsoftu nazywają je czasami " samorodkami "lub" samorodkami kodu".

 6
Author: Matth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-15 10:40:14

Słyszałem też te tzw. "Żądła V", w tym na podcaście StackOverflow.

 0
Author: Chris Moschini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-14 00:17:04