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?

Foi útil?

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