Nazywane są bryłki kod. Dostarczają one instrukcje do frameworku ASP.NET na temat przetwarzania instrukcji w tych symbolach (<%%>). Dopóki nie znałem jego nazwy, tak było o wiele trudniej zapytać o to w społeczności. Nie jestem pewien "wyczerpującej" listy, ale jest ich o kilka więcej, niż podałeś. Poniżej znajduje się lista innych elementów użytkowych kodu i ich zastosowań oraz przykładowy przykład.
Symbol - Nazwa - opis - np (Format)
<%
--Standard kod samorodek - Wskazuje, że następujące stwierdzenia są C# oświadczenia. Będzie musiał przestrzegać reguł składni C#. na przykład.
<% string[] cities = { ""London"", ""New York"", ""Paris"" };
string myCity = cities[new Random().Next(cities.Length)];
Response.Write(myCity);%>
<%=
kod --Content bryłki - podobne do standardowych CN różnicą jest wynik zwracany jest wprowadzony bezpośrednio w odpowiedzi na przeglądarce bez konieczności stosowania Response.Write
. na przykład.
<%=textBox.Text%>
(NIEZALECANE, zawiera ryzyko ataku html injection.Jeśli dane wejściowe w polu tekstowym są podobne do "< button type = submit > Submit</button >
", zostanie dodany przycisk do strony. Oczywiście nie byłoby walidacji, ale nadzieję, że punkt jest jasny.)
<%:
--Encoded kod samorodek --Similar do <% =, ale odpowiedź jest kodowany HTML. na przykład. Name is <%:textBox.Text%>
(cokolwiek wejście jest na polu, jest on wyświetlany. Jeśli wejście jest coś takiego jak „< button type = submit > Submit</button >
”, wyjście będzie „Nazwa jest <button type = submit> Submit</button>
”.
<%#
kod --data wiążącego nugget - Uwzględnia model użytkowy wiążący dane, używany do odwoływania się do bieżącego obiektu danych. Można go używać tylko z kontrolkami danych, takimi jak repeater itp.
<%#:
- Powiązanie kodowane danych - oznacza zakodowany samorodek kodu wiążącego dane, w którym wartość związana z danymi jest zakodowana, np.
<asp:Repeater ItemType = ""System.String"" SelectMethod = ""GetCities"" runat = ""server">
<ItemTemplate>
<li > <%# Item % > </li>
</ItemTemplate>
</asp:Repeater>
(Jeśli zakodowany (<%#:
) jest używany, to wyświetla literały bez interpretacji, zalecane.)”
<%$
--Property kodu samorodek - odnosi się do wartości konfiguracyjnych, takich jak te zdefiniowane w Web.config.
<asp:Literal Text = " < %$ AppSettings: cityMessage % > " runat = "server" />
(Pobiera wartość klucza cityMessage z pliku konfiguracyjnego.)
<%@
--page dyrektywa - Służy do konfiguracji Web Form (lub CONTROL lub stronę wzorcową, w zależności od rodzaju dyrektywy. np.
<%@ Page.. <%@ Master
Wszystkie wyżej wymienione informacje oraz e xamples pochodzą z książki Adama Freemana Pro ASP .NET 4.5, rozdział 12. Excellent book imo.