HTML.Encode importância
-
24-09-2019 - |
Pergunta
Estou trabalhando no tutorial do Nerddinner MVC e me deparei com isso e estava se perguntando.
Na página 62 do PDF, eles têm o seguinte:
<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>
Eles então afirmam que, em vez de usar um <a>
Tag que você pode usar o auxiliar HTML Like So:
<%= Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID }) %>
A questão é: ainda não é importante html.encode o jantar. Título do modelo ao usar essa abordagem? Se não, por que não? Em caso afirmativo, existe uma maneira de usar o html.actionlink e ainda usar html.encode?
Solução
Html.ActionLink
já liga Encode
, internamente (veja a fonte). Você não quer fazer isso duas vezes.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow