1

私はNerdDinnerMVCチュートリアルを進めていて、これに出くわし、疑問に思っていました。

PDFの62ページには、次のものがあります。

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

次に、タグを使用する代わりに、<a>次のようにHtmlヘルパーを使用できると述べています。

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

問題は、このアプローチを使用する場合、Html.Encodethedinner.Titleをモデルから取得することは依然として重要ではないかということです。そうでない場合は、なぜですか?もしそうなら、Html.ActionLinkを使用し、それでもHtml.Encodeを使用する方法はありますか?

4

1 に答える 1

3

Html.ActionLinkすでにEncode内部的に呼び出しています(ソースを参照)。あなたはそれを二度やりたくない。

于 2010-04-02T19:16:46.967 に答える