Html.encode Importance
-
24-09-2019 - |
Question
Je travaille sur le tutoriel Nerddinner MVC et je suis tombé sur cela et je me demandais.
À la page 62 du PDF, ils ont ce qui suit:
<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>
Ils déclarent ensuite qu'au lieu d'utiliser un <a>
Tag que vous pouvez utiliser l'assistance HTML comme ainsi:
<%= Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID }) %>
La question est: n'est-il pas toujours important pour html.encode le dîner. Sinon, pourquoi pas? Si oui, existe-t-il un moyen d'utiliser le html.actionLink et d'utiliser toujours HTML.Encode?
La solution
Html.ActionLink
Appels déjà Encode
, en interne (voir la source). Vous ne voulez pas le faire deux fois.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow