【问题标题】:Difference Between <%: and <%= [duplicate]<%: 和 <%= 之间的区别 [重复]
【发布时间】:2011-04-08 01:31:47
【问题描述】:

可能重复:
ASP.NET “special” tags

我希望这不是一个新手问题。我似乎总是使用正确的语法,但我真的不明白为什么我在 ASP.NET 中使用 found this article which explains <%= and <%#,但在 上的 Google 中找不到任何内容

我使用各种语法的例子:

<div>
  <%: Html.LabelFor(model => model.Type) %>
  <%: Html.TextBoxFor(model => model.Type)%>
</div>

<div id="header-menu">
  <ul>
    <li><%= Html.ActionLink("Home", "", "Home" )%></li>
  </ul>
</div>

感谢您的澄清。

可能的答案(根据 ChrisF): ASP.NET "special" tags

【问题讨论】:

  • ASP.NET "special" tags 的可能重复项 - 不是直接问这个问题,但接受的答案包括这个新标签。
  • @ChrisF - 感谢您指出这一点。当我在这里搜索时没有找到。我将编辑我的帖子以指向那里,如果他们愿意,人们可以随时关闭它。 (如果有人有什么要补充的,那也太好了。)再次感谢!

标签: asp.net syntax


【解决方案1】:
<%: "some string" %>

等于:

<%= Html.Encode("some string") %>

【讨论】:

  • 哇,酷,我不知道。
  • 是的,但&lt;%: someMvcHtmlString %&gt;&lt;%= Html.Encode(someMvcHtmlString) %&gt; 不同,而是Asp.net MVC 会识别MvcHtmlString 并避免双重编码。实际上,IHtmlString 大体上。
  • @lasseespeholt,你是对的。这是关于新的 Html 编码输出语法的另一篇文章:weblogs.asp.net/scottgu/archive/2010/04/06/…
【解决方案2】:

&lt;%: 是一种自动对数据进行 HTML 编码的新方法。来自Haacked的文章就可以了。 .NET 4.0 的新手。

【讨论】:

  • 需要注意的重要一点是,您通过向其传递 IHtmlString (即表示它知道如何创建有效 HTML)来选择退出 HTML 编码。他们说&lt;%: %&gt; 应该完全取代&lt;%= %&gt;
猜你喜欢
  • 2014-08-16
  • 2012-11-24
  • 2013-06-05
  • 2021-09-29
  • 2020-05-27
  • 2016-03-23
  • 2012-08-11
  • 2012-11-24
  • 2017-07-19
相关资源
最近更新 更多