2009-06-30 6 views
0

다음은 5632 페이지에서 Professional ASP.NET MVC 1.0입니다.템플릿보기 렌더링 차이점 <%= %>과 <% %>

Details.aspx 템플릿을 자세히 보면 정적 HTML과 포함 된 렌더링 코드가 포함되어있는 것을 알 수 있습니다. < %> 코드 너겟은 뷰 템플릿 렌더링시 코드를 실행하고 < % = %> 코드 너겟은 그 안에 포함 된 코드를 실행 한 다음 그 결과를 템플릿의 출력 스트림에 렌더링합니다.

진술은 본질적으로 의미가 있지만 팀원이 의미했던 바를 명확하게 표현할 수 없었습니다. 정확히 무엇이 일어나고 있는지에 대한 자세한 설명이 유용 할 것입니다.

나중에 장에서 사용의 예 :

<% foreach (var dinner in Model) { %> 
    <li> 
     <%= Html.Encode(dinner.Title) %> 
     on 
     <%= Html.Encode(dinner.EventDate.ToShortDateString())%> 
     @ 
     <%= Html.Encode(dinner.EventDate.ToShortTimeString())%> 
    </li> 
<% } %> 

답변

1

기본적 <% %의> 단지 코드를 실행하고 = %> <% 브라우저에 출력의 형태를 생성하는 동안 출력 아무것도 나던.

예를 들어 < %의 foreach (모델의 var 저녁 식사) {%>. 이 라인은 아이템이 있고 문법적으로 정확한 페이지를 얻기 위해 일부 일치하는 끝 루프 < %} %>가 있어야만 컬렉션에 대해 반복한다는 것을 의미합니다. 이 루프 때문에 브라우저로 보내지 않습니다.

브라우저로 보내시는 분은 < % = Html.Encode (dinner.Title) %>을 (를) 사용하여 이루어집니다. 이것은 Dinners Title, HtmlEncodes의 내용을 가져 와서 응답 스트림에 씁니다.

관련 문제