【问题标题】:Html.Encode importanceHtml.Encode 重要性
【发布时间】:2011-02-03 20:17:27
【问题描述】:

我正在学习 NerdDinner MVC 教程,遇到了这个问题并想知道。

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

然后他们声明,您可以像这样使用 Html 帮助程序,而不是使用 &lt;a&gt; 标记:

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

问题是:在使用这种方法时,Html.Encode 模型中的 Dinner.Title 是否仍然很重要?如果不是,为什么不呢?如果是这样,有没有办法使用 Html.ActionLink 并仍然使用 Html.Encode?​​p>

【问题讨论】:

    标签: asp.net-mvc encoding nerddinner html.actionlink


    【解决方案1】:

    Html.ActionLink 已经在内部调用了Encode(参见源代码)。你不想做两次。

    【讨论】:

    • 太棒了,我在哪里可以查看 MVC 中包含的 Html 助手的源代码?
    猜你喜欢
    • 2022-11-29
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    相关资源
    最近更新 更多