2010-04-02 3 views
1

나는 NerdDinner MVC 튜토리얼을 진행 중이며 이에 대해 궁금해했다. PDF 파일의 페이지 (62)에Html.Encode 중요성

그들은 다음과 같습니다

<asp:Content ID="Main" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2>Upcoming Dinners</h2> 
    <ul> 
     <% foreach (var dinner in Model) { %> 
      <li> 
       <a href="/Dinners/Details/<%=dinner.DinnerID %>"> 
        <%= Html.Encode(dinner.Title) %> 
       </a> 
       on 
       <%= Html.Encode(dinner.EventDate.ToShortDateString())%> 
       @ 
       <%= Html.Encode(dinner.EventDate.ToShortTimeString())%> 
      </li> 
     <% } %> 
    </ul> 
</asp:Content> 

그들은 다음 주 대신 당신과 같이 HTML 헬퍼를 사용할 수있는 <a> 태그를 사용 :

<%= Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID }) %> 

질문 : Html에 저녁 식사를하는 것이 여전히 중요하지 않습니까?이 접근법을 사용할 때 모델에서 제외 하시겠습니까? 그렇지 않다면 왜 안 되겠습니까? 그렇다면 Html.ActionLink를 사용하고 Html.Encode를 사용하는 방법이 있습니까?

답변

3

Html.ActionLink은 이미 내부적으로 (소스 참조) Encode을 호출합니다. 당신은 그것을 두 번하고 싶지 않습니다.

+0

굉장합니다. MVC에 포함 된 HTML 헬퍼의 소스는 어디에서 볼 수 있습니까? – mwright

+1

여기에 : http://aspnet.codeplex.com/releases/view/41742 –