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?

Était-ce utile?

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