:ASP.NET "특별한"태그과 같이 "특별한"ASP.NET 태그의 공식 이름을 무엇
<%# %>
<%= %>
<%@ %>
<%$ %>
나는이에 대한 개념 또는 잘 알려진 이름을 알아낼 수 없습니다 그래서 더 많은 정보를 찾는 데 문제가 있습니다. 보너스로, 가능한 모든 "특수 태그"와 각자가하는 일 (또는 자원을 가리키며)에 대한 빠른 요약을 제공 할 수 있습니까?
:ASP.NET "특별한"태그과 같이 "특별한"ASP.NET 태그의 공식 이름을 무엇
<%# %>
<%= %>
<%@ %>
<%$ %>
나는이에 대한 개념 또는 잘 알려진 이름을 알아낼 수 없습니다 그래서 더 많은 정보를 찾는 데 문제가 있습니다. 보너스로, 가능한 모든 "특수 태그"와 각자가하는 일 (또는 자원을 가리키며)에 대한 빠른 요약을 제공 할 수 있습니까?
정식 명칭은 "server-side scripting delimiters"또는 "ASP.NET inline expressions"입니다. Visual Studio 2008 구문 강조 표시 설정 대화 상자는 이러한 "HTML 서버 쪽 스크립트"를 호출합니다. 마이크로 소프트 사람들은 블로그에서 "코드 너겟 (code nuggets)"이라고 부릅니다.
<%@ %>
은 Directive for ASP.NET Web Pages입니다. 페이지 및 컨트롤을 사용하여 페이지/컨트롤 컴파일러 설정을 구성하는 데 사용됩니다 (<%@ Control Inherits="MyParentControl" %>
).
<%@ %>
도 Application Directive입니다. global.asax에 대한 응용 프로그램 특정 설정을 지정하는 데 사용됩니다. 다른 태그 세트 만 사용하기 때문에 페이지 지시어와 구분됩니다.<% %>
은 Code Render Block (for inline code)입니다. Embedded Code Blocks의 4 가지 형식 중 하나입니다. 생성 된 클래스의 Render()
method (<% x = x + 1; %>
)에 대한 서버 측 코드 포함에 사용됩니다. 형식 : 단일/다중 또는 다중 링크 (예 : if/then/else
, html로 산재). 기능을 선언하는 데 사용할 수 없습니다.<%= %>
은 Code Render Block (for inline expressions)입니다. <%Response.Write(value)%>
<%: %>
(비공식적으로 "Html Encoding Code Block")의 약어로 사용되지만 출력은 HTML로 인코딩됩니다.<%# %>
은 Data-binding Expression입니다. Eval
, Xpath
, Bind
또는 표현식 (예 : 드롭 다운 컨트롤의 선택한 값)을 통해 단방향 (읽기 전용) 또는 양방향 (업데이트 가능) 바인딩에 사용됩니다. 컨트롤의 속성 마크 업을 통해 데이터 바인딩 된 컨트롤 속성에 표현식을 바인딩하거나 Text
속성에 값이있는 DataBoundLiteralControl
인스턴스를 생성하는 별도의 태그로 표현식을 바인딩합니다. 표현식은 컨트롤의 이벤트 처리기 DataBinding
에 의해 평가됩니다.<%#: %>
은 HTML Encoded Data-Binding Expression (ASP.NET 4.5의 새로운 기능)입니다. <%# %>
및 <%: %>
의 기능을 결합합니다.<%$ %>
은 ASP.NET Expression Builder입니다. 서버 태그 속성을 통해 제어 등록 정보에 대한 런타임 표현식 바인딩에 사용됩니다. AppSettings
, ConnectionStrings
또는 Resources
(또는 코드 숨김 속성을 사용하는 경우는 your own custom extension)과 함께 사용합니다. 이러한 할당은 생성 된 클래스의 OnInit()
메소드에 추가됩니다.<%-- --%>
은 Server-Side Comment입니다.컴파일에서 내용을 제외시키는 데 사용됩니다. 주석 처리 된 컨트롤이 코드 숨김에서 참조되는 경우 오류가 발생합니다. html 주석과 달리 내용은 이 아니며이 출력에 포함됩니다.<!-- #Include ... -->
은 Server-Side Include Directive입니다. 파일의 내용을 페이지, 컨트롤 또는 전역 파일에 삽입하는 데 사용됩니다. 사용자 정의 컨트롤이 과도하게 사용되고 마스터 페이지를 사용할 수없는 곳에 유용합니다.최종 삽입 코드 블록 형식 Code Declaration Block도 있습니다.
<script runat="server">
bool IsTrue() {
return false;
}
</script>
ASP.NET 마크 업에서 생성 된 클래스에 추가 멤버 (메서드 등)를 포함하는 데 사용됩니다. 이것들은 단지 "primarily to preserve backward compatibility with older ASP technology"으로 제공되었으며 사용을 권장하지 않습니다.
귀하의 이름 질문에 대한 답변이 없지만 MSDN "ASP.NET Page Syntax" 페이지가 꽤 좋습니다 (또는 그게 최상위 페이지이고 그 아래 페이지가 자세한 정보를 제공합니다).
편집 : 나는 이전에 <%# ... %>
이 목록에 포함되지 않았다고 생각했지만, 물론 데이터 바인딩 식에서 생각했습니다. 도.
이 링크는 현재 작동하지 않습니다. 먼저 .NET Framework 버전을 선택해야합니다. – Sam
@Sam : Ah, 고마워요. .NET 4.5가 나왔을 때, 어떤 이유로 든 은퇴했다고 생각합니다. 링크를 수정했습니다. –
Jon Skeet이 웹 개발을하지 않는다고 생각했습니다 ...! – CodeArtist
서버 측 구문에 대해 의심 할 때마다 항상 this QuickStart page을 매우 유용하게 사용했습니다. 그것은 8 개의 다른 마크 업 스타일을 상세하게 설명하고 장단점을 설명 할뿐만 아니라 각각의 예제를 제공합니다.
그러나 IIRC는 빠른 시작의 다른 부분에서 자세히 설명 된 페이지 수준 명령은 언급하지 않습니다.
물론 이것은 ASP.NET 2.0과 관련이 있습니다.
Microsoft 사람들은 때때로 "너겟"또는 "코드 너겟"이라고 부릅니다.
나는 StackOverflow Podcast를 포함하여 "V stings"이라고도 들었습니다.
Microsoft는 코드가 포함되어 있으면 [임베디드 코드 블록] (http://msdn.microsoft.com/en-us/library/ms178135(v=vs.100) .aspx)이라고도합니다. –