그들은 코드의 덩어리라고합니다. 이러한 기호 (< %%>) 내에서 문을 처리하는 방법에 대한 ASP.NET 프레임 워크 지침을 제공합니다. 내가 그 이름을 알 때까지, 지역 사회에서 그것에 대해 물어 보는 것은 조금 더 어려웠다. '철저한'목록을 모르겠지만, 당신이 지정한 것보다 더 많은 것이 있습니다. 다음은 다른 코드 너겟과 그 용도 및 샘플 예제 목록입니다.
기호 - 이름 - 설명 - 예 (형식)
<%
- 표준 코드 덩어리는 - 다음 문은 C#을 문을 나타냅니다. C# 구문 규칙을 따라야합니다. 예.
<% string[] cities = { ""London"", ""New York"", ""Paris"" };
string myCity = cities[new Random().Next(cities.Length)];
Response.Write(myCity);%>
<%=
--Content 코드 덩어리 - 표준 CN 마찬가지로, 차분 반환 된 결과 인 직접 Response.Write
를 사용하지 않고도 브라우저에 응답하여 삽입된다. 예.
<%=textBox.Text%>
(권장하지 않음. html injection 공격의 위험이 있습니다.텍스트 상자의 입력이 "< button type = submit > Submit</button >
"과 같은 경우 페이지에 단추가 추가됩니다. 물론이 검증 될 수 있지만 요점은 분명하다 바랍니다.) <퍼센트 =에 --Similar
<%:
--Encoded 코드 덩어리, 그러나 응답은 HTML 인코딩되는 것입니다. 예. Name is <%:textBox.Text%>
(입력 텍스트 상자에 무엇이든, 그것은 입력이 "< button type = submit > Submit</button >
"같은 인 경우. 출력은 "이름이 <button type = submit> Submit</button>
는"이 될 것입니다 표시됩니다.
<%#
--data 결합 코드 너겟 (nugget) - 현재 데이터 객체를 참조하는 데 사용되는 데이터 바인딩 코드 너겟을 선언합니다. 리피터 등의 데이터 바인딩 컨트롤에서만 사용 가능합니다.
<%#:
- 인코딩 된 데이터 바인딩 코드는 데이터 바인딩 된 값이 인코딩됩니다. 예 :
<asp:Repeater ItemType = ""System.String"" SelectMethod = ""GetCities"" runat = ""server">
<ItemTemplate>
<li > <%# Item % > </li>
</ItemTemplate>
</asp:Repeater>
은 (인코딩 된 경우 (<%#:
가 사용됩니다, 그것은 권장 해석하지 않고 리터럴을 표시합니다).) "
<%$
--property 코드 덩어리를 - 같은 그 정의, 구성 값을 참조하는 데 사용 Web.config에서.
<asp:Literal Text = " < %$ AppSettings: cityMessage % > " runat = "server" />
는 (config 파일에서 cityMessage 키의 값을 검색합니다.)
<%@
--page 지침 -이 따라 웹 양식 (또는 제어 또는 마스터 페이지를 구성하는 데 사용됩니다 지시어의 종류에. 예.
<%@ Page.. <%@ Master
모든 위 정보 및 전자 언급 샘플은 Adam Freeman의 Pro ASP .NET 4.5 책, 12 장. 우수 도서에서 제공됩니다.