我正在研究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>
然后他们声明不是使用<a>
标签,而是可以像这样使用Html帮助器:
<%= Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID }) %>
问题是:对于Html.Encode晚餐是不是很重要。使用这种方法时来自模型的标题?如果没有,为什么不呢?如果是这样,有没有办法使用Html.ActionLink并仍然使用Html.Encode? p>
答案 0 :(得分:3)
Html.ActionLink
已在内部调用Encode
(请参阅来源)。你不想做两次。