我正在学习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> helper,而不是使用Html:
<%= Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID }) %> 问题是:在使用这种方法时,从模型中Html.Encode dinner.Title不是仍然很重要吗?若否,原因为何?如果是这样,有没有办法在使用Html.ActionLink的同时仍然使用Html.Encode?
发布于 2010-04-03 03:16:47
Html.ActionLink已经在内部调用了Encode (参见源代码)。你不会想做两次的。
https://stackoverflow.com/questions/2568596
复制相似问题