2010-12-16 4 views
4

는 ASP.NET MVCHtmlString에 인코딩을 사용해야합니까?

<%= Html.LabelForModel() %> 

또는

<%: Html.LabelForModel() %> 

더 나은 무엇입니까? 왜?

+0

가능한 중복 (HTTP [보기 템플릿 코드 태그 - - asp.net의 MVC regd.] : // 유래 .com/questions/3713578/view-template-code-tags-asp-net-mvc-regd) –

답변

0

"더 우수"하지 않습니다. 둘 다 정확한 마크 업을 출력합니다.

+0

글쎄, 그들은이 사건에서 똑같은 마크 업을 출력한다. –

+0

두 가지 방법이 같을 때 어느 것을 사용해야합니까? 첫 번째 또는 두 번째? 아니면 처음부터 때때로 두 번째로?)) –

5

그것은 중요하지 않습니다 MvcHtmlString를 돌려주는 경우; <%:은 사전 이스케이프 처리되었음을 알 수 있습니다. 따라서 을 사용하십시오.<%: 그러면 리뷰어는 "이게 도망 쳤나요? 아니면 원시 필드입니까?"라고 생각할 필요가 없습니다. MvcHtmlString 제정신 인 만드는 코드에 의존 않습니다 물론

, ...의

+0

그것은 좋은 논쟁이 아니야. int count = 10과 같은 코드를 작성하지 않는 이유는 무엇입니까? int 가격 = 100; int cost = (int) price * (int) count; <% = Html.Encode (Html.LabelForModel()) %> 또는 <% : Html.LabelForModel() %>처럼 보입니다. –

+2

@Dmitry 주석을 이해할 수 없지만'% : obj.LabelForModel() %>'이 표시되면'LabelForModel'이 HTML을 반환 할 것인지, 아니면 이스케이프 처리되지 않은 문자열. '<% = obj.LabelForModel %>'을 사용하면 알아야 할 사항이 너무 많습니다. 그것이 내가하려는 것입니다. –

+0

나는 이스케이프되지 않은 문자열을 인코딩하는 것에 대해 걱정한다면 모든 것을 인코딩하려고 시도하는 것이 좋지 않다고 말하려고했습니다. –

관련 문제