Html.Encode важность

Я работаю над учебником по NerdDinner MVC, натолкнулся на это и задумался.

На странице 62 PDF они имеют следующее:

<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>

Затем они заявляют, что вместо использования <a> пометить, что вы можете использовать Html помощник так:

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

Вопрос заключается в следующем: неужели до сих пор не важно, чтобы Html. Закодировать обед. Название модели при использовании этого подхода? Если нет, то почему нет? Если так, есть ли способ использовать Html.ActionLink и все еще использовать Html.Encode?

1 ответ

Решение

Html.ActionLink уже звонит Encodeвнутренне (см. источник). Вы не хотите делать это дважды.

Другие вопросы по тегам