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
внутренне (см. источник). Вы не хотите делать это дважды.