Domanda

Sto lavorando attraverso il tutorial MVC di Nerddinner e mi sono imbattuto e mi chiedevo.

A pagina 62 del PDF hanno quanto segue:

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

Quindi lo affermano invece di usare un <a> tag che puoi usare l'helper HTML in questo modo:

<%= Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID }) %> 

La domanda è: non è ancora importante per html.Code la cena. In caso contrario, perché no? In tal caso, esiste un modo per utilizzare HTML.ActionLink e utilizzare ancora html.encode?

È stato utile?

Soluzione

Html.ActionLink chiama già Encode, internamente (vedi la fonte). Non vuoi farlo due volte.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top