Frage

Ich arbeite das Nerddinner MVC -Tutorial durch und stieß darauf und habe mich darüber gefragt.

Auf Seite 62 des PDF haben sie Folgendes:

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

Sie geben dann an, anstatt eine zu verwenden <a> Tag, dass Sie den HTML -Helfer wie SO verwenden können:

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

Die Frage ist: Ist es nicht immer noch wichtig, das Abendessen aus dem Modell zu titieren, wenn dieser Ansatz verwendet wird? Wenn nicht, warum nicht? Wenn ja, gibt es eine Möglichkeit, die html.actionlink zu verwenden und trotzdem html.encode zu verwenden?

War es hilfreich?

Lösung

Html.ActionLink bereits Anrufe Encode, intern (siehe Quelle). Sie wollen es nicht zweimal tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top